首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >redis原理(4)

redis原理(4)

原创
作者头像
陈不成i
修改2021-05-19 16:15:59
修改2021-05-19 16:15:59
3360
举报
文章被收录于专栏:ops技术分享ops技术分享

一致性哈希方式 最关键的区别就是,对节点和数据,都做一次哈希运算,然后比较节点和数据的哈希值,数据取和节点最相近的节点做为存放节点。这样就保证当节点增加或者减少的时候,影响的数据最少。

十条数据,算出各自的哈希值,(这里就不变了,实际上要经过一系列计算)

  1. 0 : 0
  2. 1 : 1
  3. 2 : 2
  4. 3 : 3
  5. 4 : 4
  6. 5 : 5
  7. 6 : 6
  8. 7 : 7
  9. 8 : 8
  10. 9 : 9

有三个节点,算出各自的哈希值

  1. node a: 3
  2. node b: 5
  3. node c: 7

这个时候比较两者的哈希值,5等于b,则归属b,4小于b,归属b,3等于a,则归属a,最后所有大于c的,归属于c(这里只是模拟) 相当于整个哈希值就是一个环,对应的映射结果:

  1. node a: 0,1,2,3
  2. node b: 4,5
  3. node c: 6,7,8,9

这个时候加入node d, 就可以算出node d的哈希值: node d: 9

这个时候对应的数据就会做迁移:

  1. node a: 0,1,2,3
  2. node b: 4,5
  3. node c: 6,7
  4. node d: 8,9

只有最后8,9这2条数据被存储到新的节点,其他不变

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档