【Redis学习笔记】2018-06-26 scan遍历二

Redis SCAN算法深入解析
本文详细探讨了Redis中SCAN命令的工作原理,特别是其如何通过一种特殊的遍历顺序确保在rehash过程中实现不重不漏的数据扫描。此外,还讨论了在hash冲突情况下scan可能返回超出预期结果数量的情况。

顺风车运营研发团队 方波
1 遍历算法

clipboard.png

clipboard.png

以上过程可以概括为 同余分组

2 scan 超出预期个数问题

scan结果:

clipboard.png

redis存储分布:

clipboard.png

clipboard.png
遍历顺序:

clipboard.png

遍历代码:

clipboard.png

结论:

scan按照反转二进制算法形成特殊的遍历顺序保证在rehash扩容时不重不漏,由于按照游标进行遍历,当遇到有hash冲突时,返回结果可能超过预期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值