RedisCluster slot

如题所述

第1个回答  2022-07-28

我们都知道在集群模式下key是需要进行路由的,那就需要有路由策略,Redis Cluster并没有使用一致性hash的方案,而是使用分配slot的方式进行key路由。

Redis Cluster为整个集群定义了一共16384个slot,并通过crc16的hash函数来对key进行取模,将结果路由到预先分配过slot的相应节点上。

当客户端要执行 SET test 123 实际上会执行 crc16(123)

所有分片的算法都会面对一个问题,就是当节点增加或减少时怎么处理,Redis Cluster也不例外

当有节点D加入进来原本的A,B,C节点需要拿出一部分slot给到D,这样的操作就叫做slot重新分配。

redis Cluster 是使用redis-trib来自动实现的slot重新分配

相似回答