使用重晶石烧瓶
Flask-Redislite的Python项目详细描述
烧瓶再结晶
使用带有redislite的烧瓶,还可以使用redis collections和rq的烧瓶。
安装
使用pip
pip install Flask-Redislite
使用量
选择重新发布数据文件的路径,然后包含到应用程序配置中
REDISLITE_PATH='<path/to/redis/file.rdb>'
在应用程序中创建新的redis实例
fromflaskimportFlaskfromflask_redisliteimportFlaskRedisapp=Flask(__name__)rdb=FlaskRedis(app)# with redis-collections:# rdb = FlaskRedis(app, collection = True)
然后在视图中使用它
rdb.connection.set('foo1','bar1')printrdb.connection.get('foo1')# redis-collectionscollection=rdb.collectiond=collection.dict('123456')d['foo']='bar'printd
RQ要在RQ中使用Flask Redislite,需要将RQ Worker作为一个新进程启动
fromflaskimportFlaskfromflask_redisliteimportFlaskRedisapp=Flask(__name__)rdb=FlaskRedis(app,rq=True)# Your other extensions load here# ex: lm = LoginManager()# ...withapp.app_context():rdb.start_worker()# your codes# ex: views functionapp.run()
然后在视图中将作业排队:
importtimedefsimple_job():time.sleep(2)return12345queue=rdb.queuequeue['default'].enqueue(simple_job,ttl=60,result_ttl=60,job_id='321')sleep(5)printqueue['default'].fetch_job('321').result
要在RQ中使用Flask Redislite,需要将RQ Worker作为一个新进程启动
fromflaskimportFlaskfromflask_redisliteimportFlaskRedisapp=Flask(__name__)rdb=FlaskRedis(app,rq=True)# Your other extensions load here# ex: lm = LoginManager()# ...withapp.app_context():rdb.start_worker()# your codes# ex: views functionapp.run()
然后在视图中将作业排队:
importtimedefsimple_job():time.sleep(2)return12345queue=rdb.queuequeue['default'].enqueue(simple_job,ttl=60,result_ttl=60,job_id='321')sleep(5)printqueue['default'].fetch_job('321').result
历史记录
0.1.1(2017年11月7日)
- 更新readme.rst
- 升级库
0.1.0(2016年8月31日)
- 支持多队列
0.0.5(2016年7月9日)
- 更好的测试覆盖率
- 应用PEP8 RI>重启、中断退出恢复丢失的重新启动进程
0.0.4(6/7/2016)
- 添加测试
0.0.3(2016年5月7日)
- 实施RQ
0.0.2(3/7/2016)
- 添加文档
- 修复次要代码
0.0.1(2016年7月2日)
- 初始包
- 允许使用烧瓶中的rediste和redis集合