hash算法

对key进行哈希取模。缺点是一旦某一台机器宕机,比如节点由3个变成2个,那个所有的缓存都会失效。

 

一致性hash算法

https://blog.csdn.net/bntX2jSQfEHy7/article/details/79549368

 

redis cluster采用hash slot算法

redis cluster有固定的16384个hash slot,对每个key计算CRC16值,然后对16384取模,可以获取key对应的hash slot。

redis cluster中每个master都会持有部分slot,比如有3个master,那么可能每个master持有5000多个hash slot.

hash slot让node的增加和移除很简单,增加一个master,就将其他master的hash slot移动部分过去;减少一个master,就将它的hash slot移动到其他master上去。

移动hash slot的成本是非常低的。

posted on 2019-06-10 11:03  yiyezhou2012  阅读(68)  评论(0编辑  收藏  举报