中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實現redis增量同步的的方法

發布時間:2020-06-23 21:13:59 來源:億速云 閱讀:1035 作者:元一 欄目:關系型數據庫

這篇文章將為大家詳細講解有關實現redis增量同步的的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、增量同步的概念

增量同步就是當 master 服務器有數據更新的時候,會立刻同步到所有的 slave 服務器
當我們在 master 服務器增減數據的時候,就會觸發 replicationFeedSalves()函數,接下來在 Master 服務器上調用的每一個命令都會使用replicationFeedSlaves() 函數來同步到Slave服務器。當然,在執行此函數之前master 服務器會判斷用戶執行的命令是否有數據更新,如果有數據更新并且slave 服務器不為空,才會執行此函數,而此函數主要的工作就是把用戶執行的命令發送到所有的 slave服務器,讓 slave 服務器執行,這樣就可以實施同步功能了。

2、增量同步功能組成部分        

1)主服務器的復制偏移量和從服務器的復制偏移量;

主服務器每次向從服務器傳播N個字節的數據時,就將自己的復制偏移量的值加N;

從服務器每次收到主服務器傳播來的N個字節的數據時,就將自己的復制偏移量的值加上N。

2)主服務器的復制積壓緩沖區;

由主服務器維護的一個固定長度隊列,默認為1M,當主服務器進行命令傳播時,它不僅會將寫命令發送給所有從服務器,還會將寫命令入隊到復制積壓緩沖區里面。

3)服務器的運行ID。

每個服務器在啟動時隨機生成運行ID(runid)。

3、增量同步實現

1)從服務器向主服務器發送PSYNC命令,攜帶主服務器的runid和復制偏移量;

2)主服務器驗證runid和自身runid是否一致,如不一致,則進行全量復制;

3)主服務器驗證復制偏移量是否在積壓緩沖區內,如不在,則進行全量復制;

4)如都驗證通過,則主服務器將保持在積壓區內的偏移量后的所有數據發送給從服務器,主從服務器再次回到一致狀態。

4、結論

1) 只有當從服務器的攜帶的主服務器runid和offset都符合,Redis才會采用增量同步的策略,存在著很大的局限性;

2) 因此從服務器重啟、更換主服務器、以及斷連時間過長,redis都會采用全量同步的策略。

關于實現redis增量同步的的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康乐县| 西乌珠穆沁旗| 洞口县| 弥渡县| 榆林市| 老河口市| 龙胜| 九江市| 班玛县| 瑞金市| 奉节县| 阿拉尔市| 铅山县| 娄底市| 尉犁县| 平遥县| 广饶县| 兴安县| 团风县| 潼关县| 纳雍县| 宁明县| 山东省| 启东市| 庆阳市| 琼海市| 邯郸县| 湾仔区| 恩施市| 穆棱市| 千阳县| 日照市| 黄骅市| 石渠县| 泰州市| 合川市| 南投县| 涡阳县| 祁阳县| 宁陕县| 二连浩特市|