面试题答案
一键面试1. 采用的机制
Redis集群采用哈希槽(Hash Slot)机制来保证数据均匀分布在各个节点上。
2. 工作原理
- 哈希槽数量:Redis集群预分好16384个哈希槽,这些哈希槽可以看作是一个数组。
- 数据映射:当有数据需要写入Redis集群时,首先对数据的键进行CRC16算法计算,得到一个16位的校验和。然后将这个校验和对16384取模,得到的值就是该数据应该映射到的哈希槽编号。
- 节点分配:每个Redis节点负责一部分哈希槽。例如,假设集群中有3个节点,可能节点A负责0 - 5460号哈希槽,节点B负责5461 - 10922号哈希槽,节点C负责10923 - 16383号哈希槽。这样,通过哈希槽的分配,数据就均匀地分布在了各个节点上。当节点数量发生变化(如增加或减少节点)时,Redis集群会自动进行哈希槽的重新分配,保证数据均匀分布。