在 redis
集群上的每一个节点上,都抽象定义了以下两个概念,一个是 插槽(slot)
,你可以理解为是一个可以存储两个数值的变量,这个变量的取值范围是:0~16383
。另一个就是 cluster
,可以理解为一个集群管理的插件。每当我们的存取的 key
到达时,redis
会根据 crc16 算法计算出一个结果,然后把结果对 16384(0~16383 一共有 16384 个插槽)
求余数,这样每个 key
都会对应一个唯一的编号,这个编号就是在 0~16383
之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…