page contents

Redis cluster中是如何实现数据分布的?这种方式有什么优点?

轩辕小不懂 发布于 2021-11-27 11:47
阅读 105
收藏 0
分类:数据库
2521
Nen
Nen
- 程序员

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上去。每次增加或减少master节点都是对16384取模,而不是根据master数量,这样原本在老的master上的数据不会因master的新增或

减少而找不到。并且增加或减少master时Redis cluster移动hash slot的成本是非常低的。

请先 登录 后评论