redis-py模块是否可以在群集模式下使用Redis?

时间:2017-01-31 22:35:16

标签: python redis redis-py

我尝试在群集模式下使用redis-py和redis,但我无法让它工作。我看到redis-py-cluster有效,但我喜欢redis-py,因为我一直在使用它而且它是recommended client

2 个答案:

答案 0 :(得分:4)

redis-py不支持群集模式。集群具有完全不同的体系结构,以实现水平可伸缩性的目的。 HA(高可用性)在其设计中不是优先考虑的问题。因此,您不能将一个客户端用于另一个客户端。

redis-py-cluster似乎有持续的开发/支持,它基于redis.py。您链接的客户端页面不适用于redis群集。 redis集群页面上提到了“redis-py-cluster”(查找“正在使用集群”):https://redis.io/topics/cluster-tutorial

除了集群之外,Redis还提供了哨兵支持的设置来提供HA,redis-py支持这种设置。

答案 1 :(得分:0)

您可以在redis集群中使用redis-py,但是由于不同的密钥已分区到不同的节点,因此需要(通过crc16 / crc32哈希函数)计算哪个集群处理哪些密钥。

为了充分利用“集群模式”,您不关心键的位置,需要实现redis-py-cluster提供的“客户端分区”和“查询路由”。 (https://redis.io/topics/partitioning

redis-py-cluster的一个主要缺点是它不能为“管道+事务”中的原子操作提供解决方案。