Flask插件---flask-caching (缓存)

发布时间 2023-07-04 10:51:19作者: 春游去动物园

Flask插件---flask-caching (缓存)

安装

pip install flask-caching

加载配置插件

在 exts.py 文件中配置

# exts.py: 插件管理
# 扩展的第三方插件

# 1.导入第三方插件
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_caching import Cache

# 2. 初始化
db = SQLAlchemy()  # ORM
migrate = Migrate()  # 数据迁移
cache = Cache(config={
    'CACHE_TYPE': 'simple'  # 缓存类型
})


# 3. 和app绑定
def init_exts(app):
    db.init_app(app=app)
    migrate.init_app(app=app, db=db)  # 必须传2个参数
    cache.init_app(app=app)

使用

from .exts import cache
import time


# 使用缓存
@blueprints1.route('/cache/')
@cache.cached(timeout=20)  # 给视图函数加一个缓存20秒
def cache():
    time.sleep(5)
    return 'OK!'


'''
    @blueprints1.route('/cache/')
    def cache():
        time.sleep(5)
        return 'OK!'
    当我们访问时,浏览器需要等带5秒后才能显示OK!,并且每次刷新都需要等待5秒,这样肯定是不行的
    
    
    这时我们就可以使用缓存
    # 使用缓存
    @blueprints1.route('/cache/')
    @cache.cached(timeout=20)  # 给视图函数加一个缓存20秒
    def cache():
        time.sleep(5)
        return 'OK!'
        
    当我们第一次访问时需要等待5秒,但是之后的20秒内,我们刷新就不需要等待了,但是20秒之后又需要等待5秒,因为timeout设置了20,意思是在20秒内都是访问缓存,20秒后缓存就失效了,需要重新添加缓存
'''