我在python中的API中使用Flask缓存。
目前我正在使用装饰器@app.cache.memoize(cache_memoize_value)
,我通过调用app.cache.delete_memoized(view)
问题是,对于memoize
,它会在n
次观看时缓存,而不会在特定时间内缓存。如果我想为缓存指定超时,我需要使用装饰器@app.cache.cached(timeout=300)
并使用app.cache.clear()
清除它。但是,这种清晰的方法将清除所有内容,而不仅仅是一个特定的视图。
如何在使用缓存装饰器时清除特定视图?
答案 0 :(得分:3)
@app.cache.memoize(cache_memoize_value)
你需要这样做
@app.cache.memoize(timeout=cache_memoize_value)
答案 1 :(得分:1)
cache.cached()
,使用cache.delete()
删除特定缓存,传递缓存密钥(默认为view/<request.path>
)。cache.memoize()
,使用cache.delete_memoized()
删除特定缓存,传递缓存密钥(默认为带或不带args的函数名称)。cache.clear()
删除所有缓存数据。