我尝试在群集模式下使用redis-py和redis,但我无法让它工作。我看到redis-py-cluster有效,但我喜欢redis-py,因为我一直在使用它而且它是recommended client。
答案 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的一个主要缺点是它不能为“管道+事务”中的原子操作提供解决方案。