redis主从复制同步实现的过程
1.从服务发送一个sync同步命令给主服务要求全量同步 (推荐学习:Redis视频教程)
2.主服务接收到从服务的sync同步命令时,会fork一个子进程后台执行bgsave命令(非阻塞)快照保存,生成RDB文件,并将
RDB文件发送给从服务
3.从服务再将接收到的RDB文件载入自己的redis内存
4.待从服务将RDB载入完成后,主服务再将缓冲区所有写命令发送给从服务
5.从服务在将主服务所有的写命令载入内存从而实现数据的完整同步
6.从服务下次在需要同步数据时只需要发送自己的offset位置(相当于mysql binlog的位置)即可,只同步新增加的数据,再不需要全量同步
通过配置文件实现主从同步
1.只需配置从服务配置文件
[root@localhost ~]# vim /app/redis/etc/redis.conf ….. slaveof 192.168.1.9 6379 #添加属于某台主机的从 服务 ….. masterauth 123456 #从服务连接主服的密码 …… slave-read-only yes #从服务只读,不可在命令行写入数据 ……
2.重新启动从服务即实现主从连接
[root@localhost ~]# redis-server /app/redis/etc/redis.conf [root@localhost ~]# redis-cli 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> info replication #Replication role:slave master_host:192.168.1.9 master_port:6379 master_link_status:up …… ……
以上是redis怎么进行主从复制的详细内容。更多信息请关注PHP中文网其他相关文章!