我有一个用烧杯缓存装饰器装饰的功能。该函数位于一个模块中,从该模块中导入到主应用程序中。
from caching import cache, my_cached_function
现在,在一个函数中,我使用了修饰函数:
def index():
data = my_cached_function() # no args
在另一个函数中,我尝试使缓存无效:
def new_item():
cache.invalidate(my_cached_function, 'namespace')
由于烧杯缓存配置为'cache.type': 'memory'
,我也尝试过:
def new_item():
cache.invalidate(my_cached_function, 'namespace', type='memory')
我在这里做错了什么?
笔记
在典型的场景中,我大部分时间都会调用 index() 。每当调用 new_item() 时,我都需要清除缓存,以便 index() 调用将考虑 new_item() 函数创建的新项目。
有问题的应用程序是一个运行在瓶子框架之上的 Web 应用程序。