1、查询指定key所在哈希槽
redis-cli -c -h 127.0.0.1 -p 6399 cluster keyslot MyKey
2、查询集群所有主节点负责的哈希槽
# 根据插槽做了排序,为了更快对应上key所在的槽
redis-cli -c -h 127.0.0.1 -p 6399 cluster nodes |grep master | awk '{print $2, $9}'| sort -k2,2n
根据步骤1所查出来的哈希槽数字对应步骤2钟主节点负责的槽分布,即可得出key所在的节点是哪一个。
注:
这里简单列一下cluster nodes
命令执行后结果说明
根据空格隔开依次为节点 ID, IP地址和端口号, 标志(flag), 最后发送 PING 的时间, 最后接收 PONG 的时间, 连接状态, 节点负责处理的槽
d12344561a2dt43g56342d83452a435600e18785e04 :0 myself - 0 13234930 connected 0-1364
d1234456123d45f2g67sq2d83452a435600e1585e04 127.0.0.1:6398 master - 13234930 131842341 connected 1365-2729
d12344561a2dt43g563421452s56d5672aq24785e04 127.0.0.1:6399 master - 13234931 234328931 connected 2730-4095