Python的Flask框架使用Redis做数据缓存的配置方法
作者:cangmean
Redis数据库依赖于主存,在关系型数据库以外再配套Redis管理缓存数据将对性能会有很大的提升,这里我们就来看一下Python的Flask框架使用Redis做数据缓存的配置方法
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来设置过期时间,本文中使用了两分钟为缓存时间。