一、主从复制原理
在搭建redis读写分离架构时,master必须开启持久化。(可参考博客,RDB和AOF持久化策略一起使用也行Redis的持久化机制(RDB和AOF)(1)_p&f°的博客-CSDN博客)
一旦master宕机,虽然slave可以继续提供读服务。但等到master恢复,由于没有持久化,内存里面没有任何数据,master再次做数据同步的时候,会把slave里的数据清空。
二、本博客实现的redis主从复制架构
三、具体实现
1、先配置129从机。进入redis主配置文件夹
cd /usr/local/redis/
vim redis.conf
找到如下位置,配置redis.conf从节点
①设置连接主节点的ip和接口
②设置连接主节点redis的密码
③设置从节点为只读
2、下面来验证129这个从节点是否设置成功。
①在重启redis使得配置生效前,先确保持久化文件夹下没有appendonly.aof和dump.rdb文件。这两个文件就是用来持久化的,如果从机第一次装redis默认是没有的,如果有的话删除就好了,避免影响后面测试结果。我这里之前设置过是有的。rm删除即可。
(如果找不到位置,请查看Redis的持久化机制(RDB和AOF)(1)_p&f°的博客-CSDN博客
中的RDB的配置第一条 1. 保存位置)
且确保129从机的redis中没有任何数据
② 进入到151主机中,查看已有的数据
输入info replication 查看当前是否有主从redis
3、 进入从机129中重启redis
/etc/init.d/redis_init_script stop /etc/init.d/redis_init_script start
① 此时查看持久化文件夹,主机redis的持久化文件appendonly.aof和dump.rdb已被同步过来
登录从机的redis,查看 keys * 。此时已将主节点redis中的数据同步过来
继续输入info replication,查看从机redis的情况
② 切换回主机151中,查看主机redis情况,对比上面第2 ②步一开始没有设置从机时,主机redis的情况
4、此时一主一从(151主,129从)的redis配置已经完成,下面来配置130从节点,与129从节点其实是一样的,参考上面配置129从节点过程即可。
5、此时进入151主机,查看将看到两台从机redis
搭建完的小伙伴可以自行测试以下三个结论: