最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis全量同步和增量同步原理

 更新時間:2023年04月09日 14:45:24   作者:兜兜轉轉m  
主從第一次同步是全量同步:也就是說,當你主從節(jié)點連接建立后,需要執(zhí)行一次全量同步,但如果slave重啟后同步,此時slave重啟后,slave節(jié)點和master節(jié)點的數(shù)據(jù)之間有落后,因此需要進行增量同步,感興趣的同學可以參考閱讀

全量同步

主從第一次同步是全量同步:也就是說,當你主從節(jié)點連接建立后,需要執(zhí)行一次全量同步。那么Redis如何實現(xiàn)全量同步呢?

其實本質就是Master 給 slave 發(fā)送其保存的RDB文件。slave讀取RDB文件恢復數(shù)據(jù)

 詳細介紹:

【第一步】slave與master建立連接后,master判斷該slave 是否是第一次建立連接。那么該如何判斷呢?

其實Master和slave都有一個Replication Id,簡稱replid,若id一致說明是已經建立過連接了,不需要進行全量同步,則需要進行增量同步。

【第二步】master 執(zhí)行bgsave,生成RDB文件,同時在生成RDB的同時,也會產生一個baklog文件記錄RDB期間的命令,然后將RDB文件發(fā)送給從節(jié)點,從節(jié)點加載RDB文件中的數(shù)據(jù)。至此全量同步已經完成。

【第三步】也就是后續(xù)master和slave在進行同步時候就是增量同步。則需要利用之前生成的baklog文件。

【總結全量同步】

  • slave節(jié)點先進行增量同步;
  • master節(jié)點判斷replid,發(fā)現(xiàn)不一致,拒絕增量同步;
  • master將完整內存數(shù)據(jù)生成RDB,發(fā)送RDB到slave;
  • slave清空本地數(shù)據(jù), 加載master的RDB;
  • master將RDB期間的命令記錄在repl_baklog,并持續(xù)將lgo知道命令發(fā)送給slave;
  • slave執(zhí)行接收到的命令,保持與master之間的同步。

增量同步

主從第一次同步是全量同步,但如果slave重啟后同步,此時slave重啟后,slave節(jié)點和master節(jié)點的數(shù)據(jù)之間有落后,因此需要進行增量同步。

【過程】

master節(jié)點和slave節(jié)點中維護了一個環(huán)形數(shù)組(前文提到的repl_baklog)和一個指針為offset。

slave來申請增量同步,帶著replid和offset,然后master根據(jù)獲取offset之后的數(shù)據(jù),將其發(fā)送給slave,slave進行同步。

  • 此時會出現(xiàn)一個問題,當slave下限太久時,master中存儲的數(shù)據(jù)已經超過了這個repl_baklog的上線,因此就需要重新進行全量同步。

通過對Redis主從集群的同步介紹,可以從以下幾個方面來優(yōu)化Redis的主從集群

  • 在master中配置repl-diskless-sync yes 啟用無磁盤負責,來避免全量同步時的磁盤IO。(應用場景:你的磁盤傳輸比較慢,但是你的網絡帶寬很大,網絡狀況極好。)
  • Redis單節(jié)點上內存占用不要太大。減少RDB文件的大小。
  • 適當?shù)奶岣遰epl_baklog的大小,盡量slave恢復后做全量同步。
  • 限制一個master上的slave節(jié)點數(shù)量,可以采用主從鏈的形式。

總結

到此這篇關于Redis全量同步和增量同步原理的文章就介紹到這了,更多相關Redis全量和增量同步內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis監(jiān)控工具RedisInsight安裝與使用

    Redis監(jiān)控工具RedisInsight安裝與使用

    這篇文章主要為大家介紹了Redis監(jiān)控工具RedisInsight的安裝步驟與使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • php安裝redis擴展過程介紹

    php安裝redis擴展過程介紹

    大家好,本篇文章主要講的是php安裝redis擴展過程介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Redis數(shù)據(jù)遷移的多種方法詳解

    Redis數(shù)據(jù)遷移的多種方法詳解

    在現(xiàn)代的分布式系統(tǒng)中,Redis作為一種高性能的鍵值存儲數(shù)據(jù)庫,被廣泛應用于緩存、消息隊列、會話存儲等場景,隨著業(yè)務的發(fā)展,Redis實例的數(shù)據(jù)遷移需求也變得越來越常見,本文將詳細介紹Redis數(shù)據(jù)遷移的多種方法,并通過命令行工具幫助你輕松完成遷移任務
    2025-01-01
  • redis?setex使用方法示例代碼

    redis?setex使用方法示例代碼

    SETEX?是?Redis?中的一個命令,用于設置鍵的值以及過期時間(以秒為單位),這篇文章主要介紹了redis?setex使用方法,需要的朋友可以參考下
    2024-07-07
  • 圖文詳解Windows下使用Redis緩存工具的方法

    圖文詳解Windows下使用Redis緩存工具的方法

    這篇文章以圖文結合的方式詳解Windows下使用Redis緩存工具的方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Redis分布式鎖方案設計之防止訂單重復提交或支付

    Redis分布式鎖方案設計之防止訂單重復提交或支付

    這篇文章主要為大家介紹了Redis分布式鎖之防止訂單重復提交或支付方案設計示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 如何利用Redis分布式鎖實現(xiàn)控制并發(fā)操作

    如何利用Redis分布式鎖實現(xiàn)控制并發(fā)操作

    這篇文章主要介紹了如何利用Redis分布式鎖實現(xiàn)控制并發(fā)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Redis Redisson lock和tryLock的原理分析

    Redis Redisson lock和tryLock的原理分析

    這篇文章主要介紹了Redis Redisson lock和tryLock的原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Centos7 Redis主從搭建配置的實現(xiàn)

    Centos7 Redis主從搭建配置的實現(xiàn)

    這篇文章主要介紹了Centos7 Redis主從搭建配置的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 深入理解Redis BigKey

    深入理解Redis BigKey

    本文主要介紹了Redis中的BigKey問題及其處理方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02

最新評論

漳平市| 镇原县| 广水市| 霍邱县| 克山县| 额济纳旗| 永吉县| 察雅县| 晴隆县| 金堂县| 油尖旺区| 阿拉善右旗| 河北区| 陵川县| 昌图县| 潜江市| 萍乡市| 增城市| 涟水县| 贵定县| 米泉市| 吉木乃县| 仙居县| 垫江县| 天津市| 闸北区| 牟定县| 吉林省| 休宁县| 大邑县| 西安市| 哈巴河县| 连平县| 榆树市| 迁安市| 钟祥市| 太原市| 乳山市| 喀喇| 昌图县| 寻乌县|