Redis cluster分片

工作过程

Redis cluster将数据集通过crc16(key)%16384算法分配16384(2^14)个slot到Redis主从实例中,当Redis Client发起查询时,通过crc16(key)%16384算法匹配在那段槽位的数据中。

当发生某个主从发生意外下线时,Redis cluster将重新分配槽位,并且需要根据MOVED 重定向和 ASK 重定向查找

  1. 通过哈希槽映射,检查当前 Redis key 否存在当前节点
  2. 若哈希槽不由自身节点负责,就返回 MOVED 重定向
  3. 若哈希槽确实由自身负责,且 key 在slot 中,则返回该 key 对应结果
  4. 若Redis key 不存在此哈希槽中,检查该哈希槽否正在迁出(MIGRATING)
  5. 若Redis key 正在迁出,返回ASK 错误重定向客户端到迁移目服务器上
  6. 若哈希槽未迁出,检查哈希槽否导入中?
  7. 若哈希槽导入中且有 ASKING 标记,则直接操作,否则返回 MOVED 重定向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值