首頁  >  文章  >  資料庫  >  redis叢集怎麼同步

redis叢集怎麼同步

(*-*)浩
(*-*)浩原創
2019-11-22 09:51:144902瀏覽

redis叢集怎麼同步

主從複製:

1、redis的複製功能是支援多個資料庫之間的資料同步。 一類是主資料庫(master)一類是從資料庫(slave),主資料庫可以進行讀寫操作,當發生寫入操作的時候自動將資料同步到從資料庫,而從資料庫一般是唯讀的,並且接收主資料庫同步過來的數據,一個主資料庫可以有多個從資料庫,而一個從資料庫只能有一個主資料庫。      (建議學習:Redis影片教學

#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相關技術文章,請造訪Redis資料庫使用入門教學欄位學習!

以上是redis叢集怎麼同步的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn