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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入