一、单机连接与集群连接模式
#单机模式下连接redis
root@docker_server:/data# redis-cli -p 6381
127.0.0.1:6381> set key word
(error) MOVED 12539 10.10.10.12:6383 #可以看到数据是要分配到12539这个槽位,并且节点为6383。由于当前时单机连接所以不支持,需要加参数 -c 使用集群的方式进行连接
#集群模式连接redis
127.0.0.1:6381> set key word
-> Redirected to slot [12539] located at 10.10.10.12:6383 #写入数据会自动写入到对应的槽位中
OK
10.10.10.12:6383>
查看集群信息
redis-cli --cluster check 10.10.10.12:6381
二、主从切换测试
(1)停止redis-1容器,查看对应的从容器是否变为master
docker stop redis-1
(2)当停止redis-1时,对应的从容器redis-6自动切换为master设备
docker exec -it redis-2
redis-cli -p 6382 -c
cluster nodes
(3)在redis-2中查看之前存储的数据能否被正常读取
(4)恢复redis-1查看是否会恢复master身份
#恢复redis-1
docker start redis-1
#查看集群节点
cluster nodes
如图所示,不会把master身份交还给redis-1,如果需要redis-1恢复master身份需要先将redis-6停止再重新运行。
#恢复redis-1的master身份
docker stop redis-6
cluster nodes