21-redis集群搭建

redis的主从复制:主少从多、主写从读、读写分离、主写同步复制到从
搭建一主二从redis集群:

1、提供三台redis服务:使用一个redis模拟三台redis服务
(1)提供三份redis配置文件:redis6379.conf、redis6380.conf、redis6381.conf
(2)修改三份配置文件:以redis6379.conf为例
bind 127.0.0.1
port 6379
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename dump6379.rdb
(3)分别使用三个redis配置文件,启动三个redis服务
redis-server redis6379.conf &
redis-server redis6380.conf &
redis-server redis6381.conf &

2、通过redis客户端分别连接三台redis服务
redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6380
redis-cli -h 127.0.0.1 -p 6381

3、查看三台reids服务在集群中的主从角色:
info replication
默认情况下,所有的redis服务都是主机,即都能写和读,但是都还没有从机
21-redis集群搭建

4、现在6379进行写操作:
set k1 v1
三台redis服务互相独立,互不影响

5、设置主从关系:设从不设主
在6380上执行:slaveof 127.0.0.1 6379
在6381上执行:slaveof 127.0.0.1 6379

6、全量复制:一旦主从关系确定,会自动把主库上已有的数据同步到从库上
在6380和6381上执行:keys *

7、增量复制:主库写数据会自动同步到从库
在6379上执行:set k2 v2
在6380和6381上执行:keys *

8、主写从读、读写分离:
在6380和6381上执行:set k3 v3 ===> 报错

9、主机宕机、从机原地待命:
关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
查看6380和6381服务的主从绝俗:info replication

10、主机回复,一切恢复正常
重启6379服务:redis-server redis6379.conf &
客户端连接6379:redis-cli -h 127.0.0.1 -p 6379

11、从机宕机,主机少一个从机,其他从机不变
关闭6380服务:redis-cli -h 127.0.0.1 -p 6380 shutdown

查看6379服务的主从角色:info replication
查看6381服务的主从角色:info replication

12、从机恢复,需要重新设置主从关系
重启6380服务:redis-server redis6380.conf &
客户端连接6380:redis-cli -h 127.0.0.1 -p 6380

在6380上执行:slaveof 127.0.0.1 6379

上一篇:redis


下一篇:Redis安装部署与常用命令