首页 > 其他分享 >Flask插件---flask-caching (缓存)

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

时间:2023-07-04 11:01:19浏览次数:184  
标签:插件 缓存 20 Flask app cache --- flask

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秒后缓存就失效了,需要重新添加缓存
'''

标签:插件,缓存,20,Flask,app,cache,---,flask
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17525112.html

相关文章

  • docker network - container networking
    course:ManagingDockerNetworking|Pluralsight - Single-hostBridgeNetworksDocker中默认的三种网络分别为bridge、host和none。 其中bridge的网络就是默认的bridge驱动网络,也是容器创建时默认的网络管理方式,配置后可以与宿主机通信从而实现互联网通信功能,基于brid......
  • Flask Models进阶 多表
    FlaskModels进阶多表''' 多表查询时,db.relationship在哪边,哪边就是正向 正向查找关联关系名 反向查找backref #班级表 classGrade(db.Model):__tablename__='grade'#表名id=db.Column(db.Integer,primary_key=True,autoincrement=True......
  • CakePHP教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介CakePHP是一个运用了诸如ActiveRecord、AssociationDataMapping、FrontController和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。CakePHP是一个基于PHP,免费且开源的迅速发展框......
  • SpringBoot教学资料6-SpringBoot登录注册功能实现(带简单前端)
     项目样式:      SQL:CREATETABLE`t_user`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(32)NOTNULL,`password`varchar(32)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`username`(`username`))ENGINE=InnoDBAUTO_INCR......
  • 强化学习实践:Policy Gradient-Cart pole游戏展示
    摘要:智能体agent在环境environment中学习,根据环境的状态state(或观测到的observation),执行动作action,并根据环境的反馈reward(奖励)来指导更好的动作。本文分享自华为云社区《强化学习从基础到进阶-案例与实践[5.1]:PolicyGradient-Cartpole游戏展示》,作者:汀丶。强化学习......
  • 全志 Tina Linux RISC-V E907核心开发指南支持百问网V85x系列开发板100ask-v853-pro v
    编写目的:介绍v85X上E907的启动环境和AMP的环境搭建。使用范围:全志V85X系列芯片环境A7SDK:TinaE907SDK:melis4SDK快捷命令说明这里主要介绍几个下文会用到的命令,并不会介绍全部命令,如果想了解全部命令,可以在lunch方案后使用hmm打印出所有tina提供的快捷命令。ckernel,mke......
  • 使用uni-app中的uni-popup-dialog组件编译成小程序会自动弹出键盘问题
    1.uni-app中使用uni-popup和uni-popup-dialog组件mode模式为input时,会自动把键盘弹出来,如图所示: 2.代码如下:<uni-popuptype="dialog"ref="dialog"><uni-popup-dialogmode="input"title="name"placeholder="请输入name"@confi......
  • 使用docker-compose部署zabbix服务
    一、docker-compose安装#该环境默认为已安装了Dockercurl-SLhttps://github.com/docker/compose/releases/download/v2.19.0/docker-compose-linux-x86_64mvdocker-compose-linux-x86_64/usr/local/bin/docker-compose#输出版本号则表示成功docker-composeversion......
  • 图-入度n-1,出度0-lc997
    小镇里有​​n​​​个人,按从​​1​​​到​​n​​的顺序编号。传言称,这些人中有一个暗地里是小镇法官。如果小镇法官真的存在,那么:小镇法官不会信任任何人。每个人(除了小镇法官)都信任这位小镇法官。只有一个人同时满足属性1和属性2。给你一个数组​​trust​​......
  • 方芳:非物质文化遗产学习整理笔记(5-6)
    武汉市江夏路桥工程有限公司中央财经大学 经济管理学院    方   芳    15927602711 第五章 非物质文化遗产的利用利用的取向非物质文化遗产利用职向主要是指在现代社会文化语境中非物质文化遭产将何去何从的问题。具体是指非物质文化遗产的利用向......