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中文网

点赞(91) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部