首页/数据/Redis 进阶速查/CLUSTER COUNTKEYSINSLOT 查槽内键数

CLUSTER COUNTKEYSINSLOT 查槽内键数

CLUSTER COUNTKEYSINSLOT slot 返回指定槽当前保存的键数量,常用于迁移前评估数据量、确认缩容迁移完成。

Redis 进阶速查数据更新于 2026-10-13

查一个槽里有几个键

CLUSTER COUNTKEYSINSLOT slot 返回指定槽当前保存的键数量,是槽迁移与缩容时最常用的核对手段:迁移前用它评估要搬多少数据、估算时间窗口,迁移后用源节点与目标节点的计数确认迁移是否真正完成。配套的槽内键名查询命令可以抽取样本键做人工验证,两个命令常常一起使用。

基本信息

用法CLUSTER COUNTKEYSINSLOT <槽编号>
返回该槽当前保存的键数量
配套命令按槽查询键名的命令,用于抽样核对
主要场景迁移前评估、迁移后核对、缩容收尾
取值范围0 到 16383

典型使用场景

  • 迁移前评估单个槽的数据量,估算迁移窗口与影响
  • 迁移完成后核对源节点计数归零、目标节点计数大于零
  • 缩容收尾时确认待删节点的槽确实已经没有数据
  • 排查某个槽数据异常偏多导致分片负载不均
  • 演练中验证迁移流程每一步的中间状态是否符合预期

核对示例

核对示例
redis-cli -p 7000 CLUSTER COUNTKEYSINSLOT 1234        # 源节点该槽的键数
redis-cli -p 7001 CLUSTER COUNTKEYSINSLOT 1234        # 目标节点同一槽的键数
redis-cli -p 7000 CLUSTER GETKEYSINSLOT 1234 5        # 抽样取几个键名核对
redis-cli -p 7000 CLUSTER COUNTKEYSINSLOT 1234        # 迁移收尾后再次确认

计数判读

观察结果含义应对
源节点归零、目标大于零迁移正常完成可以推进下一步操作
两边都大于零仍在迁移中等流程结束再核对,不要提前收尾
源节点归零、目标也归零槽内本来就没有键正常情况,注意区分空槽
迁移后源节点仍有键迁移未完成或中断重跑迁移流程并查日志
空槽返回 0 而不是报错,别把 0 当成「槽不存在」或命令失败,判断槽归属要看节点拓扑而不是计数。
计数是瞬时值,迁移过程中会不断变化,核对必须等迁移流程完全结束后再做,中途读数没有参考意义。

易错点

  • 把返回 0 当成槽不存在,误判为拓扑异常,排查方向从一开始就偏了
  • 迁移过程中反复读数并据此判断进度,读数跳动被误认为程序异常
  • 只看计数不抽样验证键名,数据搬迁到位的结论缺少直接证据
  • 缩容时未核对计数就把节点删掉,残余数据随实例一起消失

数据来源与参考

  • Redis 官方文档:CLUSTER COUNTKEYSINSLOT 命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌