如何使失效Beaker缓存生效?
我有一个函数,它使用了 Beaker 缓存装饰器。这个函数在一个模块里,然后被导入到主应用中。
from caching import cache, my_cached_function
现在,在一个函数里我使用了这个被装饰的函数:
def index():
data = my_cached_function() # no args
在另一个函数里,我试图让缓存失效:
def new_item():
cache.invalidate(my_cached_function, 'namespace')
因为 Beaker 缓存是用 'cache.type': 'memory'
配置的,所以我也试过:
def new_item():
cache.invalidate(my_cached_function, 'namespace', type='memory')
我这里做错了什么呢?
注意事项
在一般情况下,我大部分时间都会调用 index()。我需要在调用 new_item() 时清除缓存,这样 index() 的调用才能考虑到 new_item() 函数创建的新项目。
这个应用是一个基于 Bottle 框架的网页应用。