您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Redis中主從復制的工作原理是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
主從復制:
1、redis的復制功能是支持多個數據庫之間的數據同步。一類是主數據庫(master)一類是從數據庫(slave),主數據庫可以進行讀寫操作,當發生寫操作的時候自動將數據同步到從數據庫,而從數據庫一般是只讀的,并接收主數據庫同步過來的數據,一個主數據庫可以有多個從數據庫,而一個從數據庫只能有一個主數據庫。
2、通過redis的復制功能可以很好的實現數據庫的讀寫分離,提高服務器的負載能力。主數據庫主要進行寫操作,而從數據庫負責讀操作。
Redis復制工作原理的總結如下:
1. 如果設置了一個Slave,無論是第一次連接還是重連到Master,它都會發出一個SYNC命令;
2. 當Master收到SYNC命令之后,會做兩件事:
a) Master執行BGSAVE,即在后臺保存數據到磁盤(rdb快照文件);
b) Master同時將新收到的寫入和修改數據集的命令存入緩沖區(非查詢類);
3. 當Master在后臺把數據保存到快照文件完成之后,Master會把這個快照文件傳送給Slave,而Slave則把內存清空后,加載該文件到內存中;
4. 而Master也會把此前收集到緩沖區中的命令,通過Reids命令協議形式轉發給Slave,Slave執行這些命令,實現和Master的同步;
5. Master/Slave此后會不斷通過異步方式進行命令的同步,達到最終數據的同步一致;
6. 需要注意的是Master和Slave之間一旦發生重連都會引發全量同步操作。但在2.8之后版本,也可能是部分同步操作。
關于Redis中主從復制的工作原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。