zoukankan      html  css  js  c++  java
  • Redis基础篇(六)数据同步:主从复制

     

    第一步,主从库建立连接,协商同步。

    从库发送psync命令,表示进行数据同步。其中runID表示主库ID,第一次不知道主库的runID,就设置为"?"
    主库收到psync命令后,用FULLRESYNC响应,返回runID(主库ID)和offset(主库目前的复制进度)。
    从库收到响应后,记录这两个参数
    第二步:主库同步数据给从库。

    从库收到数据后,在本地完成数据加载。这过程依赖于RDB快照。

    主库执行bgsave命令,生成RDB文件,再把文件发强从库。
    从库收到RDB文件后,先清空当前数据库,然后加载RDB文件。
    第三步,主库发送新写命令给从库

    主库在数据同步过程中,会记录所有写操作,避免丢失同步过程接收的新的写命令。

    主库使用replication buffer来新的写命令。
    当从库加载RDB文件完成后,主库再把replication buffer的内容发送给从库,从库再执行这些操作实现同步。
    关于replication buffer的更多内容,下面再介绍。

    如果有多个从库,每个从库都要跟主库进行全量同步,这样主库的压力会很大。

  • 相关阅读:
    cookie的过期时间
    Cookie的使用及位置
    用存储过程进行的查询拼接
    验证码的使用
    SQLHelper
    App_code的引用
    GridView使用
    javascript、ajax验证
    数据库小结(三)
    数据库操作(七)存储过程
  • 原文地址:https://www.cnblogs.com/xujing0808/p/14234274.html
Copyright © 2011-2022 走看看