Redis集群 常用命令

1、redis 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 ##将节点的配置文件保存到硬盘里面
->cluster slaves <node_id> ##列出该slave节点的master节点
->cluster set-config-epoch ##强制设置configEpoch
->#########################槽(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)
键(key)
->cluster keyslot <key> ##计算键key应该被放置在哪个槽上
->cluster countkeysinslot <slot> ##返回槽slot目前包含的键值对数量
->cluster getkeysinslot <slot> <count> ##返回count个slot槽中的键
->cluster myid ##返回节点的ID
->cluster slots ##返回节点负责的slot
->cluster reset ##重置集群,慎用

2、cluster info 命令详解

127.0.0.1:6379> cluster info   ##命令

cluster_state:ok     ##如果当前redis发现有failed的slots,默认为把自己cluster_state从ok个性为fail, 写入命令会失败。如果设置cluster-require-full-coverage为no,则无此限制。

cluster_slots_assigned:16384   		##已分配的槽
cluster_slots_ok:16384              ##槽的状态是ok的数目
cluster_slots_pfail:0               ##可能失效的槽的数目
cluster_slots_fail:0                ##已经失效的槽的数目
cluster_known_nodes:6               ##集群中节点个数

cluster_size:3                      ##集群中设置的分片个数
cluster_current_epoch:15            ##集群中的currentEpoch总是一致的,currentEpoch越高,代表节点的配置或者操作越新,集群中最大的那个node epoch
cluster_my_epoch:12                 ##当前节点的config epoch,每个主节点都不同,一直递增, 其表示某节点最后一次变成主节点或获取新slot所有权的逻辑时间.
cluster_stats_messages_sent:270782059
cluster_stats_messages_received:270732696

3、集群是如何判断是否有某个节点挂掉

  首先要说的是,每一个节点都存有这个集群所有主节点以及从节点的信息。它们之间通过互相的ping-pong判断是否节点可以连接上。
  如果有一半以上的节点去ping一个节点的时候没有回应,集群就认为这个节点宕机了,然后去连接它的备用节点。

4、集群进入fail状态的条件

1、某个主节点和所有从节点全部挂掉,我们集群就进入faill状态。
2、如果集群超过半数以上master挂掉,无论是否有slave,集群进入fail状态.
3、如果集群任意master挂掉,且当前master没有slave.集群进入fail状态

猜你喜欢

转载自www.cnblogs.com/theMaxBear/p/13201288.html