reids 推荐在生产环境中使用scan命令来代替keys命令获取所有 key,我有些疑惑,望各位大佬解答。
前提:redis 中 key 的数量一直在频繁变化
我已经测试了单连接快速多次执行scan 0,返回的游标是相同的,那么问题是:
- 如果两个连接同时发送
scan 0命令,redis 返回的游标是否可能相同(因 redis 是单线程,所以响应肯定有先有后,所以这个问题是:临近的两次响应,返回的游标是否可能相同)? - 进阶问题:多个连接中多次执行
scan命令,返回游标是否可能相同? - 如果上述两个问题中会出现相同游标,那么如何保证两个连接获取到相同数量级的 key ?

像这样,每次 scan 一万条数据,会不会出现 [连接 2 ] 获取的 key 比 [连接 1 ] 少两万个呢?极限情况, [连接 1 ] 已经扫描到数据结尾,会不会导致 [连接 2 ] 只能获取两万个 key 呢?
提前感谢各位大佬,我查了半天,只能查到just do my best,我可以允许 scan 出来的 key 多一点少一点,但也不能少太多吧
