Python之Flask框架~插件的使用

1.介绍

在flask当中,以flask开头的包一般就是flask插件,比如之前在orm模型以及数据迁移时候使用的“flask_sqlalchemy”, “flask_migrate”。每个插件的功能不一样,用法不同。这次介绍flask的缓存插件,flask_cache。

2.flask_cache应用背景

在什么时候用到这个flask_cache呢,缓存一般是用在请求非常频繁且不改动的数据上,现实中比如京东官网的首页,访问的人数巨多,那么可以将这个首页做个缓存,这样当有大量请求时,直接通过缓存加载出首页就非常高效了,给用户的体验也很好。

3.flask_cache安装

pip install flask-caching

4.flask_cache初始化

from flask_caching import Cache

# orm模型对象
db = SQLAlchemy()

# 迁移对象
migrate = Migrate()

# 缓存
cache = Cache(
    config={"CACHE_TYPE": "simple"}
)


# 创建插件函数
def init_exts(app):
    """
    初始化插件
    @param app: flask对象
    @return: app
    """
    db.init_app(app)
    migrate.init_app(app, db=db)
    cache.init_app(app=app)

导入的Cache模块需要写入config参数,表明缓存的类型是什么,这里写出“simple”,是简单类型的意思

5.flask_cache使用

在视图函数上使用装饰器的方式调用缓存,格式:@cache.cached(timeout=xx),要填写个timeout参数作为超时时间。

如下所示,给首页加个缓存

@user_bp.route('/')
@cache.cached(timeout=20)  # 给视图函数加缓存,20秒的超时时间
def index():
    time.sleep(5)
    return 'index'
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [29/Dec/2023 14:38:27] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:38:28] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [29/Dec/2023 14:38:33] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:38:37] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:38:38] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:38] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:43] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:44] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:46] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:47] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:48] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:48] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:48] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:49] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:49] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:50] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:40:54] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Dec/2023 14:41:05] "GET / HTTP/1.1" 200 -

上述首页函数中,模拟加载慢的情况,等待5秒响应,有了缓存之后,等再次访问首页时,20秒内调用的是缓存,这样就提高了用户体验度。

The end ! Thanks !

-----------我是有底线的!-----------

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值