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的成本是非常低的。
原文:https://www.cnblogs.com/yiyezhou/p/10996569.html