Django Redis后端
django-kidoredis的Python项目详细描述
警告
此模块不再维护。请使用 http://pypi.python.org/pypi/django-redisdb
目标
为django提供redis后端,方便使用多个redis服务器 同时,就像它们是在主/主或分片配置中一样。
安装
安装要求:
pip install redis hash_ring
安装Kido Redis:
pip install django-kidoredis
或当前开发版本:
pip install hg+https:://bitbucket.org/kidosoft/django-kidoredis
配置
CACHES={'redis_ring':{'BACKEND':'kidoredis.backends.RedisRing',# sharding backend'DB':0,'LOCATION':['localhost:6379','localhost:6380',]},'redis_copy':{'BACKEND':'kidoredis.backends.RedisCopy',# copying backend'DB':0,'LOCATION':['localhost:6379','localhost:6380',]}}
redis被配置为缓存后端,尽管它应该被视为专用的 数据库。有两个后端:
用法
对redis的配置访问完成后,与对任何其他django缓存一样:
fromdjango.core.cacheimportcachescaches['redis_ring'].set('key1',1)# set key1 only on on servercaches['redis_copy'].set('key2',2)# set key2 on all serversresult_list=caches['redis_copy'].zrange('key3',1,10)# redis only command
注意事项
rediscopy可以将数据保存到多个节点。每个节点可以返回不同的 保存时的结果。因此,将数据保存到节点的命令返回list 每个节点的结果。例如,为redis_copy设置了两个节点:
>>>printcaches['redis_copy'].set('key1',2)[True,True]
支持的django版本
测试时间:
- Python2.7上的django 1.2.7
- Python2.7上的django 1.3.7
- Python2.7上的django 1.4.16
- Django 1.5.11Python2.7,Python3.4
- Django 1.6.8Python2.7,Python3.4
- Django 1.7.1Python2.7,Python3.4