diff --git a/notes/Redis_集群模式.md b/notes/Redis_集群模式.md index 3e9da7b..c86c041 100644 --- a/notes/Redis_集群模式.md +++ b/notes/Redis_集群模式.md @@ -43,7 +43,7 @@ HASH_SLOT = CRC16(key) mod 16384 #### 1. 请求重定向 -在集群模式下,Redis接收到命令时会先计算键对应的槽,然后根据槽找出对应的目标节点,如果目标节点就是此时所在的节点,则直接进行处理,否则返回 MOVED 重定向消息给客户端,通知客户端去正确的节点上执行操作。 +在集群模式下,Redis 接收到命令时会先计算键对应的槽,然后根据槽找出对应的目标节点,如果目标节点就是此时所在的节点,则直接进行处理,否则返回 MOVED 重定向消息给客户端,通知客户端去正确的节点上执行操作。 #### 2. Smart 客户端 @@ -172,7 +172,8 @@ redis-cli -h 127.0.0.1 -p 6479 cluster nodes ```
-想要让新加入的节点能够进行读写操作,可以使用 `reshard` 命令为其分配槽,这里我们将其他三个主节点上的槽迁移一部分到 6485 节点上,这里一共迁移 4096 个槽,即 16384 除以 4 。 `cluster-from ` 用于指明槽的源节点,可以为多个,`cluster-to` 为槽的目标节点,`cluster-slots` 为需要迁移的槽的总数: + +想要让新加入的节点能够进行读写操作,可以使用 `reshard` 命令为其分配槽,这里我们将其他三个主节点上的槽迁移一部分到 6485 节点上,这里一共迁移 4096 个槽,即 16384 除以 4 。 `cluster-from` 用于指明槽的源节点,可以为多个,`cluster-to` 为槽的目标节点,`cluster-slots` 为需要迁移的槽的总数: ```shell redis-cli --cluster reshard 127.0.0.1:6479 \ @@ -184,6 +185,7 @@ redis-cli --cluster reshard 127.0.0.1:6479 \ 迁移后,再次使用 `cluster nodes` 命令可以查看到此时 6485 上已经有其他三个主节点上迁移过来的槽:
+ 为保证高可用,可以为新加入的主节点添加从节点,命令如下。`add-node` 接收两个参数,第一个为需要添加的从节点,第二个参数为集群内任意节点,用于发现集群。`cluster-master-id` 参数用于指明作为哪个主节点的从节点,如果不加这个参数,则自动分配给从节点较少的主节点: ```shell @@ -199,7 +201,7 @@ redis-cli --cluster add-node 127.0.0.1:6486 127.0.0.1:6479 --cluster-slave \ redis-cli --cluster del-node 127.0.0.1:6479 `` ``` -需要注意的是待删除的主节点上必须为空,如果不为空则需要将它上面的槽和数据迁移到其他节点上,和扩容时一样,可以使用`reshard`命令来完成数据迁移。 +需要注意的是待删除的主节点上必须为空,如果不为空则需要将它上面的槽和数据迁移到其他节点上,和扩容时一样,可以使用 `reshard` 命令来完成数据迁移。