redis-復制

reids在2.8版本增加了部分復制功能,在一些場景中代替了全量復制,提高了復制的效率。

1、全量復制

1)slave向master發(fā)送SYNC命令,master執(zhí)行BGSAVE命令生成RDB文件。

2)master將生成的RDB文件發(fā)送給slave。

3)slave載入RDB文件到內存。

4)master將執(zhí)行SYNC命令之后收到寫命令記錄到緩存中,并將這些命令發(fā)送給slave。

可以看出,全量復制會消耗大量的CPU,內存,磁盤IO,網絡資源,因而應該盡量減少使用全量復制。

2、部分復制

部分復制主要在內存中緩存了一些最近的復制命令,當出現(xiàn)網絡問題時,slave重新連接上master的時候,master會根據(jù)slave發(fā)送的復制偏移量來決定是進行部分復制還是全量復制。

1)復制偏移量

master向slave傳播命令的時候會更新自己的偏移量,slave在收到命令后也會更新自己的偏移量。

2)復制緩沖區(qū)

master會維護一個固定長度的FIFO隊列,默認大小是1M,當master進行命令傳播后會將這個命令加入到復制緩沖區(qū)中。

3)服務器運行ID

每個redis服務啟動時會自動生成一個40位的ID,slave斷線重新連接上master開始復制時會發(fā)送這個ID,master根據(jù)這個ID判斷是否是自己,如果不是自己則也需要進行全量復制。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 淺談Redis主從復制 2013.09.27 11:27:00 來源: 京東 作者:張成遠 ( 0 條評論 )...
    epime閱讀 644評論 0 2
  • 1.1 資料 ,最好的入門小冊子,可以先于一切文檔之前看,免費。 作者Antirez的博客,Antirez維護的R...
    JefferyLcm閱讀 17,323評論 1 51
  • 1 前期需要了解的一些知識1.1 redis在Mac下的安裝簡單來說就一個命令 brew install redi...
    小魚嘻嘻閱讀 482評論 0 2
  • 摘要:1 什么是Redis部分重新同步-psync redis部分重新同步:是指redis因某種原因引起復制中斷后...
    暖夏未眠丶閱讀 1,110評論 0 3
  • ??我已經好久沒有生病,都似乎忘記了生病的感覺。 發(fā)燒到39度,頭痛得像要裂開,口又干又苦,躺在床上渾身酸痛,坐起...
    杏仁BOOK閱讀 398評論 2 2

友情鏈接更多精彩內容