在redis py lib之上构建的redis 3.0.0集群库

redis-py-cluster-gcom的Python项目详细描述


#redis py cluster

此客户端为redis cluster提供了一个客户端,该客户端已添加到redis 3.0中。


此项目是antirez的"redis rb cluster"端口,具有许多附加功能。原始源代码可以在https://github.com/antrez/redis rb cluster

gitter聊天室找到:[![Gitter](https://badges.gitter.im/grokzen/redis py cluster.svg)](https://gitter.im/grokzen/redis-py-cluster?联合技术手册来源=徽章和联合技术手册媒介=徽章和联合技术手册活动=公关徽章)

[![构建状态](https://travis-ci.org/grokzen/redis-py-cluster.svg?branch=master)(https://travis-ci.org/grokzen/redis-py-cluster)[![覆盖状态](https://coveralls.io/repos/grokzen/redis py cluster/badge.png)(https://coveralls.io/r/grokzen/redis-py-cluster)[![PYPI版本](https://badge.fury.io/py/redis py cluster.svg)(http://badge.fury.io/py/redis py cluster)





文档。

可在[此处](docs/upgrading.rst)中找到每个已发布版本之间的升级说明


可在[此处](docs/release notes.rst)中找到下一版本和所有旧版本的更改日志



pypi

````
$pip安装redis py cluster
```



\br使用示例

>小示例脚本,显示如何开始使用rediscluster。也可以在[examples/basic.py](examples/basic.py)

`` python
>;>from rediscluster import strictrediscluster

>;>中找到;群集发现至少需要一个节点。建议使用多个节点。
>;>;启动节点=[{"主机":"127.0.0.1","端口":"7000"}

>;>;rc=strictrediscluster(启动节点=启动节点,解码响应=true)

>;>;rc.set("foo","bar")
true
>;打印(rc.get("foo"))
"bar"
````





\license&;作者

版权所有(C)2013-2017 Johan Andersson



许可证应与redis py(https://github.com/andymccurdy/redis py)相同2017年)
----

*包现在在生成发行版时作为控制盘和源包生成。
*修复了"nodemanager.keyslot()"中某些键类型的问题。
*添加对"pubsub"子命令"channels"、"numsub[arg][args…"和"numpat"的支持。
*add method`set_result_callback(command,callback)`允许以相同的方式更改默认回复回调`set_response_callback(command,callback)`从redis py继承用于响应。
*节点管理器现在接受定义的max_connections变量,以便从该类发出的连接使用相同的变量。
*修复了在python 3.x上运行时群集检测中的错误,decode_responses=false was已使用。
从redis返回的群集结构数据现在已转换,无论您以后要设置/获取的数据使用的是什么。
*添加sslclusterconnection以通过tls/ssl连接到redis群集
*添加新选项以使nodemanager在节点时跟踪群集避免查询最初创建客户机对象时提供的启动节点的原始列表。这可以使客户机在aws上更容易处理漂移的集群,但如果集群不一致,则客户机在split brain事件期间与错误的节点组交谈的风险更高。此功能是实验性的,请小心使用。

1.3.3(2016年12月15日)
——————————————————————————————————————————————————————/>
1.3.2(2016年11月27日)
————————————————————————————————————————————————————————————————————————现在它的工作原理与redis py中的相同。
请注意,当前用于将ip地址/dns名称传递到startup_nodes变量的规则与通过from_url方法应用的规则相同。
*添加了跳过全覆盖检查的选项。当服务器禁用config redis命令时,此标志非常有用。
*修复了方法*群集插槽*在响应中包含节点ID的较新redis版本中中断的错误。方法与旧版本和新版本的redis不兼容。



1.3.1(2016年10月13日)
----


*重建的断方法扫描程序。以前的测试很小,无法检测出问题,但在测试该方法时,无法对较大的数据集进行更正。(korvus81,grokzen,redwhitemiko)
*管道中应重试的错误,如连接错误、移动错误、错误和ASK错误,现在会返回到strictrediscluster.execute_命令中的单个操作逻辑。(72平方)。
*移动了重新初始化步骤并在nodemanager中进行计数,以便可以跨管道操作正确计数(72平方)。



1.3.0(9月11日,2016)
---------

*删除了redisclustermgt类和文件
*修复了在travis测试期间使用带有redis cluster类(ozahata)的管道时的错误
*将redis服务器凹凸到3.0.7
*在另一个python redis集群中添加了关于相同模块名的文档project.
*修复要跟踪节点的连接但该节点不存在或由于在另一个线程中执行了重新硬化而删除了
的错误。(ashishbaghudana)
*在需要node_id参数并且返回类型
应该在redis中用bool_ok转换为bool时,用"cluster…"命令修复了一个错误。
*add back gitter chat room link
*add new client commands
-cluster_reset_all_nodes
*命令cluster_delslots现在确定每个插槽上的群集碎片,并将每个插槽删除
命令发送到正确的节点。命令已更改参数规范(有关详细信息,请参阅upgrading.rst)
*修复了散列键it if为python 3字节字符串时的错误,该错误将导致它路由到群集中的错误插槽(fossilet,grokzen)
*修复了重新初始化nodemanager时的一个错误,它将使用旧的节点缓存而不是刚刚解析的新节点缓存(monklof)



>1.2.0(2016年4月9日)
----


*放弃对python 3.2的维护支持。
*删除支持72squared维护的repo
*添加对受密码保护的群集(etng)的支持
*从代码中删除断言(gmolight)
*修复了为每个strictrediscluster实例分配常规连接池的错误。
*将pfcount改为现在作为当所有参数指向同一个hashslot时应为
*已将来自redis py 2.10.5的新代码和重要更改添加到代码基中。
*消除了对管道内线程的需要。我们在读取响应之前将压缩命令写入所有节点,这比线程提供了更好的性能,尤其是当我们向集群添加更多节点时。
*允许传入自定义连接池
*为集群连接池提供默认的最大连接值*(2**31)*
*Travis现在同时测试Redis 3.0.x和3.2.x
*添加简单的ptpdb调试脚本以使其更容易测试客户端
*在sdiffstore(mt3925)中修复一个错误
*使用scan iter修复一个错误,在写入期间将返回重复的密钥
*将所有"cluster…"命令作为客户端类中的方法来实现侧边设置"cluster require full coverage=yes/no"(baranbartu)
*将pubsub实现(发布/订阅命令)从使用单个节点更改为现在确定通道名称的哈希槽,并使用它连接到集群中的节点。不使用此模式的其他客户端将与此客户端不完全兼容。已知的限制是模式
订阅无法正常工作,因为模式无法提前知道所有可能的通道名称。
*将所有文档转换为readthedocs
*重新设计连接池逻辑,使其更类似于redis py。这还解决了pubsub的一个问题,并且连接
从未释放回可用连接池。


1.1.0(2015年10月27日)
----


*重构了异常处理和异常类。
*添加了只读模式支持,使用从节点缩放读取。
*修复ClusterConnectionPool和ClusterReadOnlyConnectionPool的repr\u
*将每个节点的max\u connections参数添加到ClusterConnectionPool,以便每个节点而不是整个群集计算max\u connections参数。
*提高get_connection_by_slot和get_connection_by_node methods(iandyh)的线程安全性
*改进了向所有节点发送命令(例如info)时的错误处理。现在,连接将retry_on_timeout作为一个选项,并在超时时重试一次。(iandyh)
*增加了对脚本加载、脚本刷新、脚本存在和evalsha命令的支持。(alisaifee)
*提高线程安全性,以避免在多个线程内运行一个客户端对象并同时对
群集进行重新硬处理时出现异常。
*修复请求错误处理,以便在重新硬操作期间,它现在真正向下一个节点发送请求。对流水线命令也进行了改进。
*改进了流水线命令中的线程安全性,并通过代码注释更好地解释了流水线内部的逻辑。

1.0.0(6月10日,2015年)
----

*没有任何变化,只是升到了1.0.0,因为lib现在被认为是稳定的/生产就绪的。

0.3.0(6月9日,2015年)
----

*简单基准现在使用docopt进行cli解析
*新的make target运行一些基准"make benchmark"
*简单基准现在支持管道测试
*重命名的rediscluster-->;strictrediscluster
*在集群模式下实现向后兼容的redis.redis类。它被命名为redis cluster,从0.2.0更新到0.3.0的每个人都应该咨询docs/upgrading.md以了解如何更改代码。
*添加了有关redis cluster的管道的综合文档
*元检索命令(插槽、节点、信息)。(iandyh)

<0.2.0(2014年12月26日)
----


*已将管道代码移动到新文件中。
*代码现在使用适当的群集连接池类来处理所有节点和连接,类似于redis py的工作方式。
*更好地支持pubsub。现在,所有客户端都将与同一服务器通信,因为如果pubsub命令与群集中的随机服务器通信,那么它将无法可靠地工作。
*更好的结果回调和节点路由支持。不再有丑陋的装饰符。
*使用非ascii字符时修复keyslot命令。
*添加bitpos支持,需要redis py 2.10.2或更高版本。
*修复了流浪用户无法通过共享文件夹生成包的错误。
*更好地支持clusterdown错误。(neuron)
*使用线程执行并行管道。(72平方)
*增加了对测试和开发的流浪支持。(72平方)
*在重新硬化操作期间提高客户端的稳定性(72平方)


0.1.0(2014年9月29日)
----

*初始版本
*首次发布e上传到pypi

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

推荐PyPI第三方库


热门话题
java如何使用Ibatis在插入时返回ID(使用返回关键字)   java(org.hibernate.TransactionException)org。冬眠TransactionException:事务未成功启动   java小程序jwindow始终位于JNLP顶部   在Java中重新解析JSON对象?   java单击后将ListView数据移动到新屏幕   Mule ESB中的java WSA寻址特性   Java,对象编程:获取返回0值的方法   hibernate的Java通用问题,如何处理T get(K id)   java在使用超级CSV读取CSV时忽略引用   ssh使用Java远程运行命令   java如何向具体用户发送websocket消息?   在JAVA中,我可以在不指定的情况下使用条件运算符吗?