我在python的API中使用Flask缓存。在
目前我正在使用装饰器@app.cache.memoize(cache_memoize_value)
,我通过调用app.cache.delete_memoized(view)
来刷新它
问题是使用memoize
时,它将被缓存为n
视图,而不是特定的时间量。如果我想为缓存指定超时,我需要使用装饰符@app.cache.cached(timeout=300)
,并用app.cache.clear()
清除它。但是,这种清除方法将清除所有内容,而不仅仅是一个特定的视图。在
如何在使用缓存装饰器时只清除特定视图?在
事实上这很简单,我以前应该试试的。 与缓存的decorator类似,您可以在memoized decorator中指定一个值。 但与其这样做:
@app.cache.memoize(cache_memoize_value)
你必须这么做
@app.cache.memoize(timeout=cache_memoize_value)
cache.cached()
,使用cache.delete()
删除特定的缓存,传递缓存键(默认为view/<request.path>
)。在cache.memoize()
,使用cache.delete_memoized()
删除特定的缓存,传递缓存键(默认为带或不带参数的函数名)。在cache.clear()
删除所有缓存数据。在相关问题 更多 >
编程相关推荐