缓存:
配置:
在settings.py中:
CACHES = {
"default": {
#缓存存在redis中
"CACHE_TYPE": "redis",
#redis路径,存在7号库
"CACHE_REDIS_URL": "redis://127.0.0.1:6379/7",
},
"debug": {
"CACHE_TYPE": "redis",
"CACHE_REDIS_URL": "redis://127.0.0.1:6379/8"
}
}
在ext.py中:
#导包
from flask_caching import Cache
from myapp.settings import CACHES
#实例化
cache = Cache()
def init_ext(app):
。。。。。
#注册
cache.init_app(app, config=CACHES.get("default"))
使用:
在views中:
@blue.route("/")
#调用,要写在url下面,因为装饰器是从内向外运行
@cache.cached(timeout=30)
def index():
print("进去函数")
。。。。。
return render_template("index.html", data=paginator.items, pagination=paginator)
效果是:在终端中redis-cli打开redis,然后celect 7切换到7好库,再key *可以查到有一个缓存
当有缓存的时候再次刷新不会有“进去函数”
设置缓存:
#设置一个键=key,值=new_data,有效时长为30秒的缓存
cache.set(key, new_data, 30)
#读取键=key的缓存值
data = cache.get(key)