美文网首页
redis 集群命令

redis 集群命令

作者: Scallion | 来源:发表于2018-09-03 15:31 被阅读0次

1.redis cluster命令

集群(cluster)

    1. cluster info 打印集群的信息
    1. cluster nodes 列出集群当前已知的所有节点(node),以及这些节点的相关信息

节点(node)

    1. cluster meet <ip> <port> 将ip和port所指定的节点添加到集群当中,让它成为集群的一份子
    1. cluster forget <node_id> 从集群中移除node_id指定的节点
    1. cluster replicate <node_id> 将当前节点设置为node_id指定的节点的从节点
    1. cluster saveconfig 将节点的配置文件保存到硬盘里面
    1. cluster slaves <node_id> 列出该slave节点的master节点
    1. cluster set-config-epoch 强制设置configEpoch

槽(slot)

    1. cluster addslots <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点
    1. cluster delslots <slot> [slot ...] 移除一个或多个槽对当前节点的指派
    1. cluster flushslots 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点
    1. cluster setslot <slot> node <node_id> 将槽slot指派给node_id指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽,然后再进行指派
  • 13 cluster setslot <slot> migrating <node_id> 将本节点的槽slot迁移到node_id指定的节点中

    1. cluster setslot <slot> importing <node_id> 从node_id 指定的节点中导入槽slot到本节点
    1. cluster setslot <slot> stable 取消对槽slot的导入(import)或者迁移(migrate)

键(key)

    1. cluster keyslot <key> 计算键key应该被放置在哪个槽上
    1. cluster countkeysinslot <slot> 返回槽slot目前包含的键值对数量
    1. cluster getkeysinslot <slot> <count> 返回count个slot槽中的键

其它

  • 20 .cluster myid 返回节点的ID

    1. cluster slots 返回节点负责的slot
    1. cluster reset 重置集群,慎用

2.redis cluster状态


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

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

172.16.160.67:7006> cluster nodes
a6e8379b9d5132e65f15f1a417f08e3d05dc85c1 172.16.160.65:7002 master - 0 1535962131033 8 connected 5461-10922
610ae4d04b49aefe4e6f7b41d7eaa0b65149c779 172.16.160.66:7003 slave a6e8379b9d5132e65f15f1a417f08e3d05dc85c1 0 1535962129030 8 connected
e920f7e691bf6e38931d67f30de37ce222350896 172.16.160.67:7006 myself,slave 29e42914c1fcdc3ba5876c956d071c609f241595 0 0 6 connected
29e42914c1fcdc3ba5876c956d071c609f241595 172.16.160.67:7005 master - 0 1535962131533 5 connected 10923-16383
d351bd7b7cdec9abe1347281b78dbe3efe5cf053 172.16.160.65:7001 master - 0 1535962132034 1 connected 0-5460
a549116303d3400f52ca6946ccc0dc977ba735f8 172.16.160.66:7004 slave d351bd7b7cdec9abe1347281b78dbe3efe5cf053 0 1535962130032 4 connected

说明:
节点ID:例如a6e8379b9d5132e65f15f1a417f08e3d05dc85c1
ip:port:节点的ip地址和端口号,例如172.16.160.65:7002
flags:节点的角色(master,slave,myself)以及状态(pfail,fail)
如果节点是一个从节点的话,那么跟在flags之后的将是主节点的节点ID,例如172.16.160.66:7003主节点的ID就是a6e8379b9d5132e65f15f1a417f08e3d05dc85c1
集群最近一次向节点发送ping命令之后,过了多长时间还没接到回复
节点最近一次返回pong回复的时间
节点的配置纪元(config epoch)
本节点的网络连接情况
节点目前包含的槽,例如172.16.160.65:7002目前包含的槽为5461-10922

Redis 命令参考
通俗易懂的Redis数据结构基础教程

相关文章

  • redis源码阅读

    redis源码阅读 1.redis集群 客户端API特征 支持redis集群:连接redis集群,并发送命令. 支...

  • 玩转Redis集群(上)

    这是redis集群介绍的上篇,主要是关于Redis集群的搭建。后续将为大家介绍Redis集群的常用命令、Java操...

  • redis 集群命令

    1.redis cluster命令 集群(cluster) cluster info 打印集群的信息 ...

  • Redis集群检测与恢复

    一、redis集群检测方法1、使用redis-cli登录正常节点;2、使用cluster info命令查看集群状态...

  • Lettuce Scan解决/Scan is not suppo

    问题 spring-data-redis中没有实现关于redis集群的很多命令,最近碰到lettuce在集群中无法...

  • Redis停止的命令

    Redis停止的命令 我的redis是部署在linux机器上的,而且是redis集群。下面的命令都是在linux上...

  • Memcached 与Redis (3): Redis 的集群与

    1. Redis 集群 1.1 集群节点 加入集群:节点使用cluster meet 命令来尝试握手, 若成...

  • redis-cluster 命令行

    在使用redis集群的时候需要了解redis-cluster的具体情况,使用命令查看集群的状态:直接上一些常用的命令:

  • Redis集群(二)

    搭建并使用Redis 集群配置文件 创建DOcker环境 配置Redis配置 1、准备redis容器 命令说明:...

  • Redis Cluster机制分析

    Redis集群是一个分布式、容错的Redis实现,集群实现了单机Redis中所有单个数据键的命令,它是普通单机Re...

网友评论

      本文标题:redis 集群命令

      本文链接:https://www.haomeiwen.com/subject/bozbwftx.html