文章目录
某个节点下分配新的hash槽
cluster addslots
示例:将1、2、3节点分配给当前节点
> CLUSTER ADDSLOTS 1 2 3
OK
某个节点下根据范围分配新的hash槽
custer addslotsrange
示例:将1、2、3、4、5分配给当前节点
> CLUSTER ADDSLOTSRANGE 1 5
OK
统计某个槽位中的key数量
cluster countkeysinslot
示例:统计hash槽7000这个槽位上有多少个key
> CLUSTER COUNTKEYSINSLOT 7000
(integer) 1
返回1 说明该槽位有1个key
某个节点下解绑指定hash槽
cluster delslots
示例:解绑1、2、3、4、5这5个槽位
> CLUSTER DELSLOTS 1 2 3 4 5
OK
某个节点下根据范围解绑hash槽
cluster delslotstange
示例:解绑1、2、3、4、5这5个槽位
> CLUSTER DELSLOTSRANGE 1 5
OK
删除一个节点下所有的hash槽
cluster flushslots
示例:无
获得某个hash槽下的具体key
cluster getkeysinslot
示例:获取1 这个槽位中的数据分页展示3个
> CLUSTER GETKEYSINSLOT 1 3
1) "key_39015"
2) "key_89793"
3) "key_92937"
计算key在哪个hash槽下
cluster keyslot
示例:计算user这个key的hash值,返回对应的槽位
> CLUSTER KEYSLOT user
(integer) 100
绑定hash槽到指定节点
cluster setslot
这个命令相对比较复杂,先看命令说明
CLUSTER SETSLOT slot <IMPORTING node-id | MIGRATING node-id |
NODE node-id | STABLE>
子命令解析:
- MIGRATING:将一个哈希槽设置为migrating 状态
- IMPORTING:将一个哈希槽设置为importing 状态
- STABLE:从哈希槽中清除导入和迁移状态
- NODE:将一个哈希槽绑定到另一个不同的节点
具体示例后续专门讲解
获取hash槽与node绑定关系
cluster slots
展示槽位分配信息节点、范围、对应主节点、节点id、等,不同版本显示信息略有出入。
提示:根据自己不同的版本使用cluster help 命令可以获得一定的帮助