0xsky / xredis

Redis C++ client, support the data slice storage, support redis cluster, thread-safe,multi-platform,connection pool, read/write separation.
GNU General Public License v3.0
337 stars 153 forks source link

请问数据多节点分布存储和官方集群redis cluster有什么区别呢? #59

Closed Pangdeijiang closed 3 years ago

0xsky commented 3 years ago

多节点分布存储是可以在client端自己定义数据分片存储规则,可以按自己的需要,将数据按一定的算法规则存储在指定的REDIS节点上。 而redis cluster的CLIENT,则是按redis的cluster存储设计 :数据存储索引: index= CRC32(key)%16384; 然后 将16384 个存储索引由rediscluster的各个节点负责存储。 区别:xredis提供自定义数据分片存储方案接口。 rediscluster官方集群则是实现了redis官方设计的存储方案。

xredis里也实现了直接访问redis官方集群的client,在类xRedisClusterClient里,已经实现了在client端计算数据所在的节点,不需要move。

0xsky commented 3 years ago

xRedisClusterClient 现在已经支持redis集群添加/删除节点,或是修改slot分配表。 xRedisClusterClient 会自己取得集群状态,对每个主节点建立连接池。