删除FlaskCache或FlaskCaching中的特定缓存

2024-06-16 12:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python的API中使用Flask缓存。在

目前我正在使用装饰器@app.cache.memoize(cache_memoize_value),我通过调用app.cache.delete_memoized(view)来刷新它

问题是使用memoize时,它将被缓存为n视图,而不是特定的时间量。如果我想为缓存指定超时,我需要使用装饰符@app.cache.cached(timeout=300),并用app.cache.clear()清除它。但是,这种清除方法将清除所有内容,而不仅仅是一个特定的视图。在

如何在使用缓存装饰器时只清除特定视图?在


Tags: view视图apiappflaskcachevalue时间
2条回答

事实上这很简单,我以前应该试试的。 与缓存的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()删除所有缓存数据。在

相关问题 更多 >