redis复制的过程原理
主库会基于pingcheck方式检查从库是否在线,如果在线则直接同步数据文件至从服务端,从服务端也可以主动发送同步请求到主服务端,主库如果是启动了持久化功能时,会不断的同步数据到磁盘上,主库一旦收到从库的同步请求时,主库会将内存中的数据做快照,然后把数据文件同步给从库,从库得到以后是保存在本地文件中(磁盘),然后则把该文件装载到内存中完成数据重建,链式复制也如此。
redis主从复制的特点
1、一个Master可以有多个Slave;
2、支持链式复制(一个slave也可以是其他的slave的slave);
3、Master以非阻塞方式同步数据至slave(master可以同时处理多个slave的读写请求,salve端在同步数据时也可以使用非阻塞方式);
下面开始操作部分
reids的主从配置还是挺简单的,因为只需要在从库操作就行,比mysql 要简单的多。
在机器安装redis
修改配置文件(在从库上操作)
vim /etc/redis.conf
# slaveof <masterip> <masterport> #里面有一个这样的配置,默认是注释的所以直接随便找个空出添加下面这行代码就行了
slaveof 192.168.121.134 6379 #6379是端口号
随便找个空行插入就行了
然后重启redis
[root@ly001 ~]# systemctl restart redis
[root@ly001 ~]# redis-cli
127.0.0.1:6379> info
然后就可以看到配置信息,显示主从配置成功
下面测试一下结果
可以看到主库的操作从库自动同步过来了
redis的主从同步这样就完成了
比mysql的要简单的多,想要配置多少个从库直接在从库设置主库的地址就好了,主库都不用动的
下次作品展示redis的哨兵机制的实现
在解决问题的时候也有参考其他文档,如有侵权请告知删除