哈希环 与 哈希槽
哈希环
哈希环是客户端行为,采用一致性哈希分片存储到redis
2的32次方
红色是经过一致性哈希算法得出的虚拟节点
黑色是经过一致性哈希算法得出的真实节点 – redis服务器
客户端例如要存储数据 — > K值经过哈希算法后得出节点的位置,将数据进行存储 —> 如果得出的位置是虚拟节点那么以顺时针方向寻找真实节点 — 如果得出的数据是真实节点的位置那么直接将数据存储
几个问题?
为什么要有2的32次方个节点?
因为K值经过hash算法后可能会产出2的32次方中随机一个位置
xxx问题 无法解答没有底
使用了一致性哈希算法会避免数据偏移,导致某一台redis存储大量数据,因为K值经过算法的出的虚拟节点后会以顺时针的方式寻找真实节点
哈希槽
哈希槽是redis集群
哈希槽有16848个,搭建集群后会均匀的分布到每个主redis,客户端存储数据是经过Hash计算K值对用的槽位,根据槽位存储到对应的Redis中
BCryptPassword
随机盐产生后存入到盐库 ,对比的时候会遍历盐库