Python 如何刷新金字塔中烧杯缓存中的所有区域?
我正在尝试在使用Pyramid构建的web服务器上设置缓存。我正在使用,它创建了一个用于缓存的后端 我一直在使用缓存区域装饰器来实现缓存 示例缓存区域如下所示:Python 如何刷新金字塔中烧杯缓存中的所有区域?,python,pyramid,beaker,Python,Pyramid,Beaker,我正在尝试在使用Pyramid构建的web服务器上设置缓存。我正在使用,它创建了一个用于缓存的后端 我一直在使用缓存区域装饰器来实现缓存 示例缓存区域如下所示: def getThis(request): def invalidate_data(getData,'long_term',search_term): region_invalidate(getData,'long_term',search_term) @cached_region('long_term
def getThis(request):
def invalidate_data(getData,'long_term',search_term):
region_invalidate(getData,'long_term',search_term)
@cached_region('long_term')
def getData(search_term):
return response
try:
request.matchdict['refresh']
except:
pass
search_term = request.matchdict['searchterm']
return getData(search_term)
现在缓存工作正常,我可以在每个区域触发缓存刷新,我想知道如何刷新所有区域?如果您要保存到文件,您可能只需要删除包含所有缓存的文件夹。这可能不是最好的解决方案,但应该非常快速有效 烧杯有一个包含所有CacheManager的dict对象,可用于迭代以清除每个:
from beaker.cache import cache_managers
for _cache in cache_managers.values():
_cache.clear()