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

时间:2018-07-28 08:51:53 浏览:
字体:T T T 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)
导读: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来设置过期时间,本文中使用了两分钟为缓存时间。

关键词:PythonFlaskRedis
关注“神妖网”官方微信,享受更便捷的服务
本页面永久二维码,扫描二维码,可微信浏览或分享。