欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python的Flask框架使用Redis做数据缓存的配置方法

程序员文章站 2022-03-14 17:48:49
redis是一款依据bsd开源协议发行的高性能key-value存储系统。会把数据读入内存中提高存取效率。redis性能极高能支持超过100k+每秒的读写频率,还支持通知k...

redis是一款依据bsd开源协议发行的高性能key-value存储系统。会把数据读入内存中提高存取效率。redis性能极高能支持超过100k+每秒的读写频率,还支持通知key过期等等特性,所以及其适合做缓存。

下载安装

根据redis中文网使用wget下载压缩包

$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
$ tar xzf redis-3.0.5.tar.gz
$ cd redis-3.0.5
$ make

二进制文件编译完成后在src目录下。可以通过一下命令启动:

$ src/redis-server

这样就可以看到redis服务已经启动起来了,默认端口是6379,可以通过client操作reids。

$ src/redis-cli
redis> set foo bar
ok
redis> get foo
"bar"

flask配置redis

首先得下载flask的缓存插件flask-cache,使用pip下载。

sudo pip install flask_cache

为应用扩展flask_cache

from flask import flask
from flask.ext.cache import cache

cache = cache()

config = {
  'cache_type': 'redis',
  'cache_redis_host': '127.0.0.1',
  'cache_redis_port': 6379,
  'cache_redis_db': '',
  'cache_redis_password': ''
}

app = flask(__name__)
app.config.from_object(config)
cache.init_app(app)

@app.route('/')
@cache.cached(timeout=60*2)
def index():
  name = 'mink'
  return name

if __name__ == '__main__':
  app.run()

使用装饰器cached()装饰视图函数,参数timeout来设置过期时间,本文中使用了两分钟为缓存时间。