问题描述
当我使用以下命令扫描 Redis 时:
redis-cli -h <redis_master_ip> -p 6379 --scan --pattern '*'
它返回属于这个节点的键,但它也返回许多属于另一个 redis 节点的键。因此,如果我运行以下命令:
redis-cli -h <redis_master_ip> -p 6379 object freq <some_keys_from_scan>
我收到类似 Error: MOVED 90 <another_redis_master_ip>:6379
由于同样的原因,运行时出现同样的错误:
redis-cli -h <redis_master_ip> -p 6379 --hotkeys
注意
文档 https://redis.io/commands/scan 将扫描定义为:“迭代当前选定的 Redis 数据库中的键集”。我的理解是它应该只扫描属于当前节点的键。我的 redis 集群是 6.0.10。
有谁知道为什么执行 scan
会返回另一个节点的键?我只对获取此节点的密钥感兴趣。
我看到另一个链接提到了同样的问题,但还没有解决方案:https://github.com/redis/redis/issues/4810
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)