在之前的一篇文章已经介绍了Redis Cluster及其部署,下面说下Redis Cluster日常操作命令:
一、以下命令是Redis Cluster集群所独有的,执行下面命令需要先登录redis:
[root@manage redis]# redis-cli -c -p 6382 -h 192.168.10.12 (客户端命令:redis-cli -c -p port -h ip)
192.168.10.12:6382> 登录redis后,在里面可以进行下面命令操作
集群
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。
节点
cluster meet <ip> <port> :将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
cluster forget <node_id> :从集群中移除 node_id 指定的节点。
cluster replicate <master_node_id> :将当前从节点设置为 node_id 指定的master节点的slave节点。只能针对slave节点操作。
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 槽中的键 。
二、集群中Master的下线及恢复
1)Master下线后,其对应的Slaver节点会自动变为Master节点,如下截图:
2)原来的Master重启后变成Slaver节点,并是原来Master节点的Slaver节点
三,添加节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
|
三、手动改变slave从节点所属的master主节点(一个slave只能属于一个master,而一个master可以有多个slave)
1 2 3 4 5 6 7 8 9 10 11 |
|
四、删除节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
五、复制迁移
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
六、升级节点
1 2 3 4 5 6 7 8 9 10 |
|
目前redis cluster集群的启动只能空节点启动,当节点有数据时会有err警告,但是只要进行fix就好了 redis-trib.rb fix 用这个命令修复下就OK了。
七、Redis缓存清理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
二、集群的特点
3、集群优缺点