我已经使用 Flask 编写了一个应用程序,并且正在缓存各种 api 调用的响应。 以下是我的 Flask 应用程序的配置
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
APICache = Cache(config={'CACHE_TYPE': 'filesystem','CACHE_DIR': "/cache"})
APICache.init_app(app)
如何列出迄今为止已存储的所有缓存数据的所有
key_prefix
?
在后台,Flask-Caching使用cachelib,查看缓存系统是如何实现的,文件系统没有字典或访问每个键的方法,唯一的方法是列出目录,然后调用
每个文件的get
方法,如下所示:
for p in cache.cache._list_dir():
k = os.path.split(p)[-1] # Getting just the key
print(k, cache.get(k))
这只会给出文件名:
7a494b396bacf57cfc949dc7228d62f4 None
并且由于没有带有文件名的缓存条目,因此当您执行此操作时,它会打印 None
cache.get(k)