Redis高可用性モード-マスター/スレーブレプリケーション、センチネルモード、クラスターモード(重要かつ詳細)

1.Redis高可用性モード

1.マスタースレーブレプリケーション:マスタースレーブレプリケーションは高可用性Redisの基盤です。Sentinelとクラスターはすべてマスタースレーブレプリケーションに基づいており、高可用性を実現しています。マスタースレーブレプリケーションは、主にデータのマルチマシンバックアップに加えて、読み取り操作の負荷分散と単純な障害回復を実装します。
欠陥:
●障害回復を自動化できない;
●書き込み操作を負荷分散できない;
●ストレージ容量が1台のマシンによって制限されている。
2. Sentinel:マスタースレーブレプリケーションに基づいて、Sentinelは自動障害回復を実現します。
欠陥:
●書き込み操作の負荷分散ができない;
●ストレージ容量が単一のマシンによって制限されている;
●Sentinelがスレーブノードを自動的にフェイルオーバーできない。読み取り/書き込み分離シナリオでは、スレーブノードの障害により読み取りサービスが使用できず、スレーブノードは追加の監視および切り替え操作である必要があります。
3.クラスタリング:Redisは、クラスタリングを通じて、書き込み操作の負荷分散が不可能であり、ストレージ容量が1台のマシンによって制限されるという問題を解決し、比較的完全な高可用性ソリューションを実現します。

2、Redisマスタースレーブレプリケーション

マスタースレーブレプリケーションとは、あるRedisサーバーのデータを他のRedisサーバーにコピーすることです。前者はマスターノード(Master)と呼ばれ、後者はスレーブノード(Slave)と呼ばれます。
データレプリケーションは一方向であり、マスターノードからスレーブノードへのみです。
デフォルトでは、各Redisサーバーがマスターノードであり、マスターノードは複数のスレーブノードを持つことができます(またはスレーブノードなし)が、スレーブノードは1つのマスターノードしか持つことができません。

2.1マスタースレーブレプリケーションの役割

●データの冗長性:マスタースレーブレプリケーションは、永続性に加えてデータの冗長性の方法であるデータのホットバックアップを実現します。
●障害回復:マスターノードに問題が発生した場合、スレーブノードはサービスを提供して迅速な障害回復を実現できます。実際、これは一種のサービス冗長性です。
●負荷分散:マスタースレーブレプリケーションに基づいて、読み取りと書き込みを分離することで、マスターノードは書き込みサービスを提供でき、スレーブノードは読み取りサービスを提供できます(つまり、アプリケーションはマスターノードに接続します) Redisデータを書き込むとき、およびアプリケーションがRedisデータを読み取るときにスレーブノードに接続するとき)、サーバーの負荷を共有します。特に、書き込みを減らして読み取りを増やすシナリオでは、複数のスレーブノードで読み取り負荷を共有すると、の同時実行性が大幅に向上します。 Redisサーバー。
●高可用性の基礎:上記の機能に加えて、マスタースレーブレプリケーションはセンチネルとクラスターの実装の基礎でもあります。したがって、マスタースレーブレプリケーションはRedisの高可用性の基礎です。

2.2マスタースレーブレプリケーションプロセス

(1)スレーブマシンプロセスが開始されると、マスターマシンに「synccommand」コマンドを送信して同期接続を要求します。
(2)それが最初の接続または再接続であるかどうか、マスターマシンがしますバックグラウンド・プロセスを開始するには、データのスナップショットを保存するために、データファイル(RDB操作を実行)、およびマスターにもなり、データを修正するために、すべてのコマンドを記録し、のデータファイルにそれらをキャッシュします。
(3)バックグラウンド処理がキャッシュ操作を完了すると、マスターマシンはデータファイルをスレーブマシンに送信し、スレーブマシンはデータファイルをハードディスク保存してからメモリにロードし、次にマスターマシンがすべてのデータを変更し、操作がスレーブマシンに送信されます。スレーブに障害が発生してダウンタイムが発生した場合、通常に戻った後、スレーブは自動的に再接続します。
(4)マスターマシンはスレーブ側マシンからの接続を受信した後、完全なデータファイルをスレーブ側マシンに送信します。Materが複数のスレーブから同時に同期要求を受信すると、マスターはバックグラウンドでプロセス開始します。保存するにはデータファイルがすべてのスレーブ側マシンに送信され、すべてのスレーブ側マシンが正常であることを確認します。

3、Redisマスタースレーブレプリケーションをビルドします

Master节点: 192. 168.238.10
Slave1节点: 192. 168.238.20
Slave2节点: 192. 168.238.30
#!/bin/bash

#yum源
echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m"
ping -c1 -W1 www.baidu.com &> /dev/null
if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m"
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null

yum clean all &> /dev/null
yum list &> /dev/null
echo -e "\033[31m 在线源已配置完成 \033[0m"

else
echo -e "\033[31m 检测当前为仅主机模式,为您配置本地yum源 \033[0m"
mount /dev/sr0 /mnt &> /dev/null
cd /etc/yum.repos.d/
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

echo '[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
yum clean all &> /dev/null
yum makecache &> /dev/null

df -h | grep "/mnt" 
if [ $? -ne 0 ];then
echo -e "\033[31m 检测当前为仅主机模式,但光盘未连接! \033[0m"
else
echo -e "\033[31m 本地yum源已配置完成 \033[0m"
fi
fi

#关闭防火墙
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make
rpm -q expect
rpm -q tcl
yum -y install expect
cd /opt
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
#由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。

#在/utils里执行软件包提供的install_server.sh脚本文件设置Redis服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils

#开始免交换执行
/usr/bin/expect <<EOF
#expect开始标志
spawn ./install_server.sh
#Please select the redis port for this instance: [6379]
expect "instance"
send "\r" 
#Please select the redis config file name [/etc/redis/6379.conf] 
expect "config"
send "\r"
#Please select the redis log file name [/var/log/redis_6379.log]
expect "log"
send "\r"
#Please select the data directory for this instance [/var/lib/redis/6379]
expect "data"
send "\r"
#Please select the redis executable path []
expect "executable"
send "/usr/local/redis/bin/redis-server\r"
#Is this ok? Then press ENTER to go on or Ctrl-C to abort.
expect "abort"
send "\r"
expect eof
EOF


ln -s /usr/local/redis/bin/* /usr/local/bin/
netstat -natp | grep redis

/etc/init.d/redis_6379 restart     
/etc/init.d/redis_6379 status   

sed -i '/bind 127.0.0.1/c bind 0.0.0.0' /etc/redis/6379.conf
sed -i 's/appendonly no/appendonly yes/' /etc/redis/6379.conf
/etc/redis/6379.conf
 
/etc/init.d/redis_6379 restart
/etc/init.d/redis_6379 status  

サーバーからコマンドを実行する

sed -i '/replicaof <masterip> <masterport>/c replicaof 192.168.238.10 6379' 

Redis構成ファイルの変更(マスターノード操作)

上記のスクリプトはこのステップを操作します

vim /etc/redis/6379.conf
bind 0.0.0.0      			  #70行,修改监听地址为0.0.0.0
daemonize yes       		  #137行,开启守护进程
logfile /var/log/redis_6379.log    #172行,指定日志文件目录.
dir /var/lib/redis/6379            #264行,指定工作目录
appendonly yes           		   #700行,开启AOF持久化功能

/etc/init.d/redis_6379 restart

Redis構成ファイルの変更(スレーブノード操作)

上記のスクリプトはこのステップを操作します

vim /etc/redis/6379.conf
bind 0.0.0.0		#70行,修改监听地址为0.0.0.0
daemonize yes		#137行,开启守护进程
logfile /var/log/redis_6379.log	#172行,指定日志文件目录
dir /var/lib/redis/6379			#264行,指定工作目录
replicaof 192.168.238.10 6379 		#288行,指定要同步的Master节点IP和端口
appendonly yes		#700行,开启AOF持久化功能

/etc/init.d/redis_6379 restart

マスタースレーブ効果を確認します

マスターノードのログを見てください

tail -f /var/log/redis_6379.log
Replica 192.168.80.11:6379 asks for synchronization
Replica 192.168.80.12:6379 asks for synchronization

ここに画像の説明を挿入

マスターノードのスレーブノードを確認します

redis-cli info replication
# Replication
role:master
connected slaves:2
slave0:ip=192.168.80.11, port=6379, state=online, offset=1246, lag=0
slave1:ip=192.168.80.12, port=6379, state=online, offset=1246, lag=1

ここに画像の説明を挿入
スレーブノード上のスレーブノードを確認します
ここに画像の説明を挿入

4、Redisセンチネルモード

Sentinelのコア機能:マスタースレーブレプリケーションに基づいて、Sentinelはマスターノードの自動フェイルオーバーを導入します。

4.1センチネルモードの原理

Sentinel:マスタースレーブ構造内の各サーバー監視するために使用される分散システムです。障害が発生すると、投票メカニズムによって新しいマスターが選択され、すべてのスレーブが新しい​​マスターに接続されます。したがって、センチネルを実行しているクラスター全体の数は3ノード以上である必要があります。

4.2センチネルモードの役割

●監視:歩哨は、マスターノードとスレーブノードが正常に動作しているかどうかを常にチェックします。
●自動フェイルオーバー:マスターノードが正常に動作しない場合、センチネルは自動フェイルオーバー操作を開始します。これにより、障害が発生したマスターノードのスレーブノードの1つが新しいマスターノードにアップグレードされ、他のスレーブノードに新しいマスターがコピーされます。ノード。
●通知(リマインダー):歩哨はフェイルオーバーの結果をクライアントに送信できます。

4.3センチネル構造はセンチネルノードとデータノードの2つの部分で構成されています

1.センチネルノード:センチネルシステムは、1つ以上のセンチネルノードで構成されます。センチネルノードは特別なredisノードであり、データを保存しません。
2.データノード:マスターノードとスレーブノードの両方がデータノードです。

センチネルの開始はマスタースレーブモードに依存するため、センチネルモードを実行する前にマスタースレーブモードをインストールする必要があります。すべてのノードがセンチネルモードをデプロイする必要があります。センチネルモードは、すべてのRedis作業ノードが正常かどうかを監視します。マスターが表示された場合他のノードがマスターノードとの接続を失ったために問題が発生した場合、投票します。投票の半分以上がこのマスターに問題があると見なされ、歩哨室に通知されます。 、そしてスレーブの1つが新しいマスターとして選択されます。
客観的オフラインはマスターノードに固有の概念であることに注意することが重要です。スレーブノードとセンチネルノードに障害が発生した場合、センチネルが主観的にオフラインになった後、その後の客観的オフライン操作とフェイルオーバー操作はありません。

5、センチネルモードを構成します

Master节点: 192.168.238.10
Slave1节点: 192.168.238.20
Slave2节点: 192.168.238.30
systemctl stop firewalld
setenforce 0

Redis歩哨モードの構成ファイルを変更します(すべてのノード操作)

vim /opt/redis-5.0.7/sentinel.conf
protected-mode no		#17行,关闭保护模式
port 26379			#21行,Redis哨 兵默认的监听端口
daemonize yes		#26行,指定sentine1为后台启动
logfile "/var/log/sentinel.log"		#36行,指定日志存放路径
dir "/var/lib/redis/6379"		#65行,指定数据库存放路径
sentinel monitor mymaster 192.168.80.10 6379 2 		#84行, 修改
#指定该哨兵节点监控192.168.80.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移
sentinel down-after-milliseconds mymaster 3000 		#113行, 判定服务器down掉的时间周期,默认30000毫秒 (30秒 )
sentinel failover-timeout mymaster 180000		#146行,故障节点的最大超时时间为180000 (180秒)

センチネルモードをアクティブにする

最初にマスターを開始し、次にスレーブを開始します

cd /opt/redis-5.0.7/
redis-sentinel sentinel.conf &

ここに画像の説明を挿入

歩哨情報を見る

redis-cli -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.80.10: 6379,slaves=2,sentinels=3

ここに画像の説明を挿入
ここに画像の説明を挿入

故障シミュレーション

redis-serverプロセス番号を表示する

ps -ef | grep redis
root    57031    1    	 0 15:20 ?    		00:00:07 /usr/local/bin/redis-server 0.0.0.0:6379
root    57742    1   	 1 16:05 ?    		00:00:07 redis-sentinel *:26379 [sentinel]
root    57883    57462   0 16:17 pts/1      00:00:00 grep --color=auto redis

主:
root      46721   6605  0 20:30 pts/3    00:00:00 tail -f /var/log/redis_6379.log
root      46768   6605  0 20:34 pts/3    00:00:00 tail -f /var/log/redis_6379.log
root      46790   6605  0 20:36 pts/3    00:00:00 tail -f /var/log/redis_6379.log
root      46832      1  0 20:39 ?        00:00:16 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root      46848   6605  0 20:40 pts/3    00:00:00 tail -f /var/log/redis_6379.log
root      48779      1  0 23:46 ?        00:00:00 redis-sentinel *:26379 [sentinel]
root      48801  48225  0 23:48 pts/2    00:00:00 grep --color=auto redis


从:
[root@localhost redis-5.0.7]#ps -ef | grep redis
root      47386      1  0 20:30 ?        00:00:19 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root      49483      1  0 23:46 ?        00:00:00 redis-sentinel *:26379 [sentinel]
root      49519  48928  0 23:50 pts/1    00:00:00 grep --color=auto redis

#杀死Master 节点上redis- server的进程号
kill -9 57031    #Master节点上redis-server的进程号

ここに画像の説明を挿入

ここに画像の説明を挿入

検証結果

tail -f /var/log/sentinel.log
57742:X 07 Aug 2020 16:19:21.170 # +failover-state-select-slave master mymaster 192.168.80.11 6379
57742:x 07 Aug 2020 16:19:21.170 # -sdown slave 192.168.80.12:6379 192.168.80.12 6379 @ mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.272 # +selected-slave slave 192.168.80.12:6379 192.168.80.12 6379 @ mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.272 ★+failover-state-send-slaveof-noone slave 192.168.80.12:6379 192.168.80.12 6379 @ mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.338 * +failover-state-wait-promotion slave 192.168.80.12:6379 192.168.80.12 6379 @ mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.402 # -failover- abort-slave-timeout master mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.799 # -sdown master mymaster 192.168.80.11 6379
57742:X 07 Aug 2020 16:19:21.826 # +new - epoch 41
57742:X 07 Aug 2020 16:19:21.827 # +vote- for-leader b12178afd9f862e0ead00763c2c7f1ae7f5de22e 41
57742:X 07 Aug 2020 16:19:31.137 * +convert- to- slave slave 192.168.80.12:6379 192.168.80.12 6379 @ mymaster 192.168.80.11 6379
[root@localhost redis-5.0.7]#tail -f /var/log/sentinel.log
48779:X 25 Feb 2021 23:46:57.327 * +sentinel sentinel 0d2634b6bba9148fd0dcc86b6f1b84e345a2c35e 192.168.238.20 26379 @ mymaster 192.168.238.10 6379
48779:X 25 Feb 2021 23:47:13.367 * +sentinel sentinel 4172c90a7e2f5c352bad5df746aa995a4ed8c229 192.168.238.30 26379 @ mymaster 192.168.238.10 6379
48779:X 25 Feb 2021 23:54:22.812 # +sdown master mymaster 192.168.238.10 6379
48779:X 25 Feb 2021 23:54:22.904 # +new-epoch 1
48779:X 25 Feb 2021 23:54:22.904 # +vote-for-leader 4172c90a7e2f5c352bad5df746aa995a4ed8c229 1
48779:X 25 Feb 2021 23:54:23.788 # +config-update-from sentinel 4172c90a7e2f5c352bad5df746aa995a4ed8c229 192.168.238.30 26379 @ mymaster 192.168.238.10 6379
48779:X 25 Feb 2021 23:54:23.788 # +switch-master mymaster 192.168.238.10 6379 192.168.238.30 6379
48779:X 25 Feb 2021 23:54:23.789 * +slave slave 192.168.238.20:6379 192.168.238.20 6379 @ mymaster 192.168.238.30 6379
48779:X 25 Feb 2021 23:54:23.789 * +slave slave 192.168.238.10:6379 192.168.238.10 6379 @ mymaster 192.168.238.30 6379
48779:X 25 Feb 2021 23:54:53.881 # +sdown slave 192.168.238.10:6379 192.168.238.10 6379 @ mymaster 192.168.238.30 6379

ここに画像の説明を挿入
ここに画像の説明を挿入

6、Redisクラスターモード

クラスター、つまりRedisクラスターは、R​​edis3.0で導入された分散ストレージソリューションです。
クラスターは複数のノード(ノード)で構成され、Redisデータはこれらのノードに分散されます。クラスター内のノードは、マスターノードとスレーブノードに分けられます。マスターノードのみが読み取りおよび書き込み要求とクラスター情報の保守を担当し、スレーブノードはマスターノードのデータとステータス情報のみを複製します。

6.1クラスターの役割は2つのポイントに要約できます

(1)データパーティション:データパーティション(またはデータシャーディング)は、クラスターのコア機能です。
クラスターはデータを複数のノードに分散します。一方で、Redis単一マシンのメモリサイズ制限を突破し、ストレージ容量が大幅に増加します。他方、各マスターノードは外部の読み取りおよび書き込みサービスを提供できます。クラスターの応答性が大幅に向上します。
Redisスタンドアロンメモリサイズの制限は、永続性とマスタースレーブレプリケーションの導入で言及されています。たとえば、スタンドアロンメモリが大きすぎる場合、bgsaveとbgrewriteaofのフォーク操作により、マスタープロセスがブロックされる可能性があります。マスタースレーブ環境でホストを切り替えると可能になる場合があります。その結果、スレーブノードは長期間サービスを提供できず、マスターノードのレプリケーションバッファーが完全なレプリケーションフェーズ中にオーバーフローする可能性があります。
(2)高可用性:クラスターは、マスタースレーブレプリケーションとマスターノードの自動フェイルオーバー(センチネルと同様)をサポートします。いずれかのノードに障害が発生した場合でも、クラスターは外部サービスを提供できます。

6.2Redisクラスターのデータシャーディング

Redisクラスターはハッシュスロットの概念を導入しています。Redis
クラスターには16384個のハッシュスロット(No. 0-16383)があり
ます。クラスター内の各ノードはハッシュスロットの一部を担当します。
各キーがCRC16によってチェックされた、残りの16384スロットは、この値を介して、対応するスロットに対応するノードを見つけ、アクセス操作のために対応するノードに自動的にジャンプすることを期待します。

6.33つのノードで構成されるクラスターを例として取り上げます

ノードAにはハッシュスロット
0〜5460が含まれます。ノードBに
ハッシュスロット5461〜10922が含まれます。ノードCにはハッシュスロット10923〜16383が含まれます

6.4Redisクラスターのマスタースレーブレプリケーションモデル

クラスターには3つのノードA、B、およびCがあります。ノードBに障害が発生すると、5461〜10922の範囲のスロットがないため、クラスター全体が使用できなくなります。
各ノードにスレーブノードA1、B1、C1を追加します。クラスター全体は、3つのマスターノードと3つのスレーブノードで構成されます。ノードBに障害が発生した後、クラスターはB1をメインノードとしてマスターノードを選択し、サービスを継続します。BとB1の両方に障害が発生すると、クラスターは使用できなくなります。

7、Redisクラスターモードを構築する

redisクラスターには通常、6つのノード、3つのマスター、3つのスレーブが必要です。便宜上、ここのすべてのノードは同じサーバー上でシミュレートされます。
ポート番号によって区別されます:3つのマスターノードポート番号:6001/6002/6003、および対応するスレーブノードポート番号:6004/6005/6006。

cd /etc/redis/
mkdir -p redis-cluster/redis600{
    
    1..6}
for i in {
    
    1..6}
do
cp /opt/redis-5.0.7/redis.conf /etc/redis/redis-cluster/redis600$i
cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis600$i
done

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

クラスター機能をオンにする

#他の5つのフォルダの設定ファイルも同じように変更されます。6つのポートはすべて異なることに注意してください。

cd /etc/redis/redis-cluster/redis 6001
vim redis.conf
bind 127.0.0.1
#69行,注释掉bind项,默认监听所有网卡
protected-mode no
#88行,修改,关闭保护模式
port 6001
#92行,修改,redis监听端口,
daemonize yes
#136行,开启守护进程,以独立进程启动
cluster-enabled yes
#832行,取消注释,开启群集功能
cluster-config-file nodes-6001.conf
#840行,取消注释,群集名称文件设置
cluster-node-timeout 15000
#846行,取消注释群集超时时间设置
appendonly yes
#700行,修改,开启AOF持久化

ここに画像の説明を挿入
ここに画像の説明を挿入

redisノードを開始します

6つのフォルダーを入力し、次のコマンドを実行します:redis-server redis.conf to start the redis node

cd /etc/redis/redis-cluster/redis6001
redis-server redis.conf
for d in {
    
    1..6}
do
cd /etc/redis/redis-cluster/redis600$d
redis-server redis.conf
done
ps -ef | grep redis

ここに画像の説明を挿入

クラスターを開始します

redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1

#6つのインスタンスは3つのグループに分けられ、各グループには1つのマスターと1つのスレーブがあり、前面がマスターノード、背面がスレーブノードです。次のインタラクションを作成するには、yesを入力する必要があります。
-レプリカ1は、各マスターノードに1つのスレーブノードがあることを意味します。

ここに画像の説明を挿入
ここに画像の説明を挿入

#テストクラスター

redis-cli -p 6001 -c         #加-c参数,节点之,间就可以互相跳转
127.0.0.1:6001> cluster slots    #查看节点的哈希槽编号范围
1) 1) (integer) 5461
   2) (integer) 10922        #哈希槽编号范围
   3) 1) "127.0.0.1"
      2) (integer) 6003        #主节点IP和端口号
      3) " fdca661922216dd69a63a7c9d3c4540cd6baef44"
   4) 1) "127.0.0.1"
      2) (integer) 6004        #从节点IP和端口号
     3) " a2c0c32aff0f38980accd2b63d6d952812e44740"
2) 1) (integer) 0
   2) (integer) 5460
   3) 1) "127.0.0.1"
      2) (integer) 6001
      3) "0e5873747a2e26bdc935bc76c2bafb19d0a54b11"
      4) 1) "127.0.0.1"
         2) (integer) 6006
         3) "8842ef5584a85005e135fd0ee59e5a0d67b0cf8e"
3) 1) (integer) 10923
   2) (integer) 16383
   3) 1) "127.0.0.1"
      2) (integer) 6002
      3) "81 6ddaa3d1469540b2ffbcaaf9aa867646846b30"
   4) 1) "127.0.0.1"
      2) (integer) 6005
      3) " f847077bfe6722466e96178ae8cbb09dc8b4d5eb"
127.0.0.1:6001> set name zhangsan
-> Redi rected to slot [5798] located at 127.0.0.1:6003 
OK
127.0.0.1:6001> cluster keyslot name    #查看name键的槽编号
127.0.0.1:6001> cluster slots
1) 1) (integer) 10923
   2) (integer) 16383
   3) 1) "127.0.0.1"
      2) (integer) 6003
      3) "f466e92c2487cea57aeca1ac74065e976f23bf0e"
   4) 1) "127.0.0.1"
      2) (integer) 6004
      3) "451dda82fd262ad6f3eaca5d39a4847b7c2b635c"
2) 1) (integer) 5461
   2) (integer) 10922
   3) 1) "127.0.0.1"
      2) (integer) 6002
      3) "1cbb5bdda47f98adb4193da8cc7b801ef76ac08e"
   4) 1) "127.0.0.1"
      2) (integer) 6006
      3) "fb71c49ba37aa0e2495160b6979d8c79b56f123f"
3) 1) (integer) 0
   2) (integer) 5460
   3) 1) "127.0.0.1"
      2) (integer) 6001
      3) "7696a844322b9a2c8d23125228afd25097885546"
   4) 1) "127.0.0.1"
      2) (integer) 6005
      3) "87412db1a80e4f8064205efdb581d34e0af80c2e"
      127.0.0.1:6001> set name xyw
-> Redirected to slot [5798] located at 127.0.0.1:6002
OK
127.0.0.1:6002> cluster keyslot name
(integer) 5798

ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/IvyXYW/article/details/114086575
おすすめ