Redis同步機制簡介


同步機制又分為:
全同步是指slave啟動時進行的初始化同步。
部分同步是指Redis運行過程中的修改同步。
一、全同步

全同步過程如下:

1)在slave啟動時,會向master發送一條SYNC指令。
2)master收到這條指令后,會啟動一個備份進程將所有數據寫到rdb文件中去。
3)更新master的狀態(備份是否成功、備份時間等),然后將rdb文件內容發送給等待中的slave。

注意,master並不會立即將rdb內容發送給slave。而是為每個等待中的slave注冊寫事件,當slave對應的socket可以發送數據時,再講rdb內容發送給slave。

二、部分同步

當Redis的master/slave服務啟動后,首先進行全同步。之后,所有的寫操作都在master上,而所有的讀操作都在slave上。因此寫操作需要及時同步到所有的slave上,這種同步就是部分同步。

部分同步過程如下:

1)master收到一個操作,然后判斷是否需要同步到salve。
2)如果需要同步,則將操作記錄到aof文件中。
3)遍歷所有的salve,將操作的指令和參數寫入到savle的回復緩存中。
4)一旦slave對應的socket發送緩存中有空間寫入數據,即將數據通過socket發出去。

原文鏈接:https://blog.csdn.net/look4liming/article/details/83013275

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM