1. 前期准备:
三台服务器:一台作为 Redis 主节点(Master),另外两台作为 Redis 从节点(Slave)
Redis主从架构
可以理解为一种水平扩展的方式来提高Redis性能;
主从就是读写分离;
根据读写二八原则,主节点负责处理写操作,从节点负责处理读操作;
主节点起到了请求分发的作用。
- 注意事项: 使用主从复制,主节点的redis必须开启持久持久化, 否则,如果主redis一旦重启,导致主节点数据丢失,然后会将从节点上的数据也全部清空,这种灾难是毁灭级的
2. 配置
配置主要修改从节点的配置文件 redis.conf
修改的地方主要有三处:
replicaof <masterip> <masterport> # 配置主节点 ip 和端口
masterauth <master-password> # 配置 masterauth 主节点密码
replica-read-only yes # 设置 从节点只读
截图如下:
之后重启redis,这时就可以在三台服务器上,进入 redis-cli 客户端使用如下命令查看主从节点状态
info replication # 查看redis信息
● 主从模式测试
◆ 主节点不挂,从节点保持slave状态
◆ 主节点挂机,从节点保持slave状态,不会自动选举成为master
3. 无磁盘化复制
第 2 步设置的属于默认复制方式:磁盘复制。而无磁盘化的传输方式,是指以内存方式的传输,通过socket,磁盘IO差,网络环境比较好,可以使用无磁盘化复制。不过无磁盘化复制现在还处在实验阶段,不建议在生产环境使用。
无磁盘化复制需要另外修改配置:
repl-diskless-sync yes # 默认是 no,需要修改为 yes,来开启无磁盘化复制