redis中hash一致性
redis中hash一致性
思路
-
需要的数据
-
节点的生成
- 【IP+端口】的hash值
-
key的生成
- 【key】的hash值
-
Hash环的生成
- 1~232-1【1~43亿】
-
节点的生成
-
存放原则
- 节点======映射=======redis库
- key的存放:顺时针找相邻的第一个节点
图解
-
-
归属
-
节点I
- key3
-
节点II
- key1
-
节点III
- key2
- key4
-
节点I
-
归属
解决数据的平衡性
- 引入虚拟节点
-
图解
-
归属
-
节点I
- 【key3】
-
虚拟节点I_1
- 【key2】
-
虚拟节点I_2
- 【key1】
-
节点II
- 虚拟节点II_1
- 虚拟节点II_2
-
节点III
- 虚拟节点III_1
-
虚拟节点III_2
- 【key4】
-
节点I
- 结论虚拟节点越多,平衡越好