flask 缓存的设置及使用

from flask import Flask
from flask_cache import Cache
from flask_script import Manager

app = Flask(__name__)

manage = Manager(app)


#缓存类型
app.config['CACHE_TYPE'] = 'redis'

#主机
app.config['CACHE_REDIS_HOST'] = '127.0.0.1'

#端口
app.config['CACHE_REDIS_PORT'] = 6379

#数据库
app.config['CACHE_REDIS_DB'] = 1

#创建缓存对象
cache = Cache(app,with_jinja2_ext=False)

@app.route('/index/')
def index():
    return '欢迎'

#创建缓存视图函数
@app.route('/set_cache/')
#timeout:指定缓存有效期,默认为300s
#key_prefix:缓存键前缀,默认为 view/ +路由地址
@cache.cached(timeout=100,key_prefix='index')
def set_cache():
    #进行测试,第一次时会执行,之后就会直接调用缓存数据
    print('调动数据库')
    return '返回结果'


#创建缓存基本函数
@cache.cached(timeout=100,key_prefix='index1')
def set_cache1():
    print('调用数据库')
    return '返回结果'

#创建视图函数
@app.route('/set_cache2/')
def set_cache2():
    return set_cache1()

#自定义缓存视图函数
@app.route('/set_cache3/')
def set_cache3():
    #先去缓存中查找数据
    data = cache.get('data')

    #如果缓存中有数据,返回缓存数据
    if data:
        print('缓存数据')
        return data

    #如果缓存中没有数据,设置新数据
    data = '123456'

    #并在缓存中设置
    cache.set('data',data,timeout=100)

    print('非缓存数据')

    return data

@app.route('/clear_cache/')
def clear_cache():
    #指定缓存名删除
    cache.delete('index')

    return '清除缓存'

@app.route('/clear_cache_all/')
def clear_cache_all():
    #清除所有的缓存
    cache.clear()

    return '清除缓存'


if __name__ == '__main__':
    manage.run()
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值