From 60a671908f797525a4e3506a9d33ef4636ddf1bc Mon Sep 17 00:00:00 2001
From: heibaiying <31504331+heibaiying@users.noreply.github.com>
Date: Mon, 30 Dec 2019 16:43:57 +0800
Subject: [PATCH] =?UTF-8?q?Update=20Redis=5F=E9=9B=86=E7=BE=A4=E6=A8=A1?=
=?UTF-8?q?=E5=BC=8F.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
notes/Redis_集群模式.md | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
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` 命令来完成数据迁移。