redis哨兵模式多主多从,怎么决定数据是存在哪个主节点的?

发布于 2022-09-12 03:07:51 字数 68 浏览 22 评论 0

如果redis通过哨兵模式来部署集群,而且是多个主节点,想问下底层原理是怎么决定某个key-value存储在哪个主节点的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林很绿却致人迷途 2022-09-19 03:07:51

redis 集群上的每一个节点上,都抽象定义了以下两个概念,一个是 插槽(slot) ,你可以理解为是一个可以存储两个数值的变量,这个变量的取值范围是:0~16383。另一个就是 cluster,可以理解为一个集群管理的插件。每当我们的存取的 key 到达时,redis 会根据 crc16 算法计算出一个结果,然后把结果对 16384(0~16383 一共有 16384 个插槽) 求余数,这样每个 key 都会对应一个唯一的编号,这个编号就是在 0~16383 之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文