Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-cluster-slots.html

Redis CLUSTER SLOTS 命令

Redis 集群(Cluster) Redis 集群(Cluster)


Redis CLUSTER SLOTS 命令返回哈希槽和 Redis 实例映射关系。这个命令对客户端实现集群功能非常有用,使用这个命令可以获得哈希槽与节点(由 IP 和端口组成)的映射关系,这样,当客户端收到(用户的)调用命令时,可以根据(这个命令)返回的信息将命令发送到正确的 Redis 实例。

命令格式

CLUSTER SLOTS

可用版本:>=3.0.0

时间复杂度:O(N),N 为 Redis 集群节点的个数。

命令返回值

返回描述每个哈希槽范围的包含嵌套对象的列表,嵌套对象包含 IP/Port。

示例

redis> cluster slots
1) 1) (integer) 0
   2) (integer) 4095
   3) 1) "127.0.0.1"
      2) (integer) 7000
   4) 1) "127.0.0.1"
      2) (integer) 7004
2) 1) (integer) 12288
   2) (integer) 16383
   3) 1) "127.0.0.1"
      2) (integer) 7003
   4) 1) "127.0.0.1"
      2) (integer) 7007
3) 1) (integer) 4096
   2) (integer) 8191
   3) 1) "127.0.0.1"
      2) (integer) 7001
   4) 1) "127.0.0.1"
      2) (integer) 7005
4) 1) (integer) 8192
   2) (integer) 12287
   3) 1) "127.0.0.1"
      2) (integer) 7002
   4) 1) "127.0.0.1"
      2) (integer) 7006

结果数组

每一个(节点)信息:

  • 哈希槽起始编号。
  • 哈希槽结束编号。
  • 哈希槽对应 master 节点,节点使用 IP/Port 表示。
  • master 节点的第一个副本。
  • 第二个副本。
  • …直到所有的副本都打印出来。

每个结果包含该哈希槽范围的所有存活的副本,没有存活的副本不会返回。(每个节点信息的)第三个(行)对象一定是 IP/Port 形式的 master 节点。之后的所有 IP/Port 都是该哈希槽范围的 Redis 副本。

如果一个集群实例中的哈希槽不是连续的(例如 1-400,900,1800-6000),那么哈希槽对应的 master 和 replica 副本在这些不同的哈希槽范围会出现多次。

Redis CLUSTER INFO 命令返回使用 INFO 风格的形式展示关于 Redis 集群的重要参数。这个命令主要是显示当前连接的集 ...
Redis CLUSTER REPLICATE 命令重新配置一个节点成为指定 master 的 salve 节点。如果收到命令的节点是一个 ...
Redis CLUSTER RESET 命令根据 reset 类型配置 hard 或者 soft。注意该命令在主节点 hold 住一个或多个 ...
Redis CLUSTER FORGET 命令从收到命令的 Redis 集群节点的节点信息列表中移除指定 ID 的节点。该命令不仅将待删除节 ...
Redis CLUSTER KEYSLOT 命令返回一个整数,用于标识指定键所散列到的哈希槽。该命令主要用来调试和测试,因为它通过一个 AP ...