Redis-cluster 集群操作命令

目录

cluster操作

redis-cli 客户端操作

cluster 操作

集群 
CLUSTER INFO 打印集群的信息   
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 
节点  
CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。   
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。  
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。   
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
槽(slot)   
CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。   
CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。  
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。   
CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。 
CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。 
CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。  
CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。   
键   
CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。   
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。   
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。   

 redis-cli 客户端操作

记得我们在上一篇幅中,介绍了Redis 集群现阶段的一个问题是客户端实现很少,而redis-cli就是其中之一。下面介绍下日常使用过程中常见的问题。

redis-cli对集群的操作实现很有局限性。

./redis-3.0.7/src/redis-cli -c -p 7000

192.168.30.221:7000> keys * --在7000中并未发现k1,keys * 命令提现出了局限性
1) "k2"
2) "k3"
192.168.30.221:7000> get k1
-> Redirected to slot [12706] located at 192.168.30.221:7002 --redirect到7002
"v1"
192.168.30.221:7002> FLUSHDB --清空的只是7002中的所有key
OK
192.168.30.221:7002> keys *     --7002中没有key了
(empty list or set)
192.168.30.221:7002> set k1 v1  --在7002中设置k1值为v1
OK
192.168.30.221:7002> set k2 v2  --在7002中设置k2值为v2
-> Redirected to slot [449] located at 192.168.30.221:7000  --redirect到7000,k2被存储在7000中
OK
192.168.30.221:7000> keys *    --在7000中尽然出现了k3,说明redis-cli客户端命令FLUSHDB 清空的是7002上的数据(FLUSHALL也只是清空当前主机的中16个db的数据)
1) "k2"
2) "k3"     
原文地址:https://www.cnblogs.com/shann/p/6795413.html