为Flask应用程序提供的多线程多服务器Redis扩展
项目描述
Flask-Multi-Redis
CI状态
PyPI状态
为Flask添加Redis支持,具有故障转移或聚合功能。
主要受以下项目启发
Flask-Redis - https://github.com/underyx/flask-redis
Beholder - https://github.com/druidops/beholder
基于 redis-py 构建。
贡献者
Thomas Sarboni - @maxk69 - https://github.com/max-k
描述
Flask-Multi-Redis允许您轻松地从Flask应用程序访问多个Redis服务器。它支持SSL连接和密码验证。它不是为了实现所有Redis命令,而是提供了一种在无需部署Redis集群的情况下,对多个Redis服务器进行多线程并行查询的能力。
安装
pip install flask-multi-redis
配置
在您的应用程序中启用Flask-Multi-Redis
from flask import Flask
from flask.ext.redis import FlaskRedis
app = Flask(__name__)
redis_store = FlaskRedis(app)
Flask-Multi-Redis提供了一个简单灵活的配置处理。它从您的Flask app.config字典中读取配置。
所有服务器的默认配置
app.config['REDIS_DEFAULT_PORT'] = 6379
app.config['REDIS_DEFAULT_DB'] = 0
app.config['REDIS_DEFAULT_PASSWORD'] = None
app.config['REDIS_DEFAULT_SOCKET_TIMEOUT'] = 5
app.config['REDIS_DEFAULT_SSL'] = None
用法
FlaskMultiRedis 将属性访问代理到底层的 Redis 连接。因此,可以将其视为一个常规的 Redis 实例。
@app.route('/')
def index():
return redis_store.get('potato', 'Not Set')
提示:redis-py 包目前持有 'redis' 命名空间,所以如果您想使用它,您的 Redis 对象名称不应为 'redis'。
有关客户端使用的详细说明,请参阅 redis-py 文档。
高级功能,如 Lua 脚本、管道和回调,在项目的 README 中详细说明。
贡献
历史记录
0.1.4 (2016-09-02)
修正聚合 put 方法中的错误
0.1.3 (2016-09-02)
修正聚合 delete 方法中的错误
0.1.2 (2016-09-02)
修正聚合 keys 方法中的错误
0.1.1 (2016-09-02)
添加 scan_iter 聚合方法
0.1.0 (2016-08-26)
第一个 Beta 版:现在 100% 覆盖
0.0.2 (2016-07-20)
清理后的第一个预发布版本
0.0.1 (2016-07-20)
初始提交