Flask-Caching
-
什么是缓存?为什么使用缓存?
数据库是 web 应⽤性能的瓶颈,为了提⾼ web 应用访问效率,尽可能减少数据库的操作,可以将经常访问的数据缓存起来,再次使⽤用时直接从缓存中获取,而不是每次都操作数据库。
-
flask-cacheing
- flask 数据缓存扩展
- flask-cache 已经不在维护,因此使用 flask-caching
-
安装
-
pip install flask-caching pip install redis
-
-
初始化
-
from flask_caching import Cache cache = Cache() cache.init_app(app=app, config={ 'CACHE_TYPE': 'simple'})
-
-
配置
CACHE_TYPE:设置缓存的类型 设置都是在config中设置的 # 下面五个参数是所有的类型共有的 CACHE_NO_NULL_WARNING = "warning" # null类型时的警告消息 CACHE_ARGS = [] # 在缓存类实例化过程中解包和传递的可选列表,用来配置相关后端的额外的参数 CACHE_OPTIONS = {} # 可选字典,在缓存类实例化期间传递,也是用来配置相关后端的额外的键值对参数 CACHE_DEFAULT_TIMEOUT # 默认过期/超时时间,单位为秒 CACHE_THRESHOLD # 缓存的最大条目数 CACHE_TYPE = null # 默认的缓存类型,无缓存 CACHE_TYPE = 'simple' # 使用本地python字典进行存储,非线程安全 CACHE_TYPE = 'filesystem' # 使用文件系统来存储缓存的值 CACHE_DIR = "" # 文件目录 CACHE_TYPE = 'memcached' # 使用memcached服务器缓存 CACHE_KEY_PREFIX # 设置cache_key的前缀 CAHCE_MEMCACHED_SERVERS # 服务器地址的列表或元组 CACHE_MEMCACHED_USERNAME # 用户名 CACHE_MEMCACHED_PASSWORD # 密码 CACHE_TYPE = 'redis' # 使用redis作为缓存 CACHE_KEY_PREFIX # 设置cache_key的前缀 CACHE_REDIS_HOST # redis地址 CACHE_REDIS_PORT # redis端口 CACHE_REDIS_PASSWORD # redis密码 CACHE_REDIS_DB # 使用哪个数据库 # 也可以一键配置 CACHE_REDIS_URL 连接到Redis服务器的URL。示例 redis://user:password@localhost:6379/2
-
缓存视图函数
@app.route('/') @cache.cac