文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何理解Redis主从复制的全量和增量同步

2024-04-02 19:55

关注

如何理解Redis主从复制的全量和增量同步,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

全量同步:
1.slave服务器连接到master服务器,发送SYNC命令
     slave服务器通过 syncWithMaster() 函数来连接 Master 服务器(如果Master服务器需要密码登录的话,先登录),并且发送SYNC命令请求同步,接着打开 rdb 文件(用于存储由Master发送过来的数据),创建读rdb 的 IO 事件(readSyncBulkPayload)
2.master服务器备份数据库到 .rdb 文件
     当slave服务器发送SYNC命令到master服务器时,master 服务器变回调用 syncCommand() 函数来进行同步,同步的第一步便是把数据库的数据存储为 rdb 文件,存储完毕后调用updateSalvesWaitingBgsave()函数来发送 rdb 文件给所有的slave 服务器,updateSlavesWaitingBgsave() 要做的事情是, 打开 rdb 文件, 创建发送 rdb 文件 IO 事件(sendBulkToSlave). 而sendBulkToSlave()主要的工作就是把rdb文件发送给 Slave 服务器。而当 Slave 服务器接收 rdb 文件完毕之后(readSyncBulkPayload()函数处理), 会清空原来数据库的数据,然后把 rdb 文件的数据导入到数据库中
3.全量同步完成
     完成上面的步骤,全量同步基本完成。
增量同步:
     增量同步就是当 master 服务器有数据更新的时候,会立刻同步到所有的 slave 服务器
1.当我们在 master 服务器增减数据的时候,就会触发 replicationFeedSalves()函数,接下来在 Master 服务器上调用的每一个命令都会使用replicationFeedSlaves() 函数来同步到Slave服务器。当然,在执行此函数之前master 服务器会判断用户执行的命令是否有数据更新,如果有数据更新并且slave 服务器不为空,才会执行此函数,而此函数主要的工作就是把用户执行的命令发送到所有的 slave服务器,让 slave 服务器执行,这样就可以实施同步功能了。

关于如何理解Redis主从复制的全量和增量同步问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯