You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis集群中KEYS *命令无法显示全部键的问题排查

Redis集群KEYS命令仅显示部分键的原因及解决办法

核心原因:Redis集群的分片特性

  • Redis集群采用哈希槽分片机制,每个键会根据哈希值分配到不同的集群节点上。你用redis-cli -c -h host.amazonaws.com -p 6379连接的是集群中的单个节点,KEYS *命令只会遍历当前连接节点上的键,不会跨节点查询所有分片的键,所以只能看到其中一个键。
  • GET命令在集群模式(-c参数启用)下,客户端会自动计算键对应的哈希槽,路由到存储该键的节点获取数据,因此无论键在哪个节点都能正常返回结果。
  • info keyspace返回的db0:keys=11是整个集群的总键数,并非当前节点的键数量,这也佐证了键分布在多个节点上的事实。

解决办法

  • 要查看集群所有节点的键,可使用集群批量执行命令:
    redis-cli --cluster call host.amazonaws.com:6379 KEYS "*"
    
    该命令会在集群所有节点上执行KEYS *并汇总结果。
  • 生产环境避免使用KEYS *(会阻塞节点),推荐用SCAN命令结合集群批量执行:
    redis-cli --cluster call host.amazonaws.com:6379 SCAN 0 MATCH "*" COUNT 100
    

内容的提问来源于stack exchange,提问作者7msseven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:36:30