為了使得叢集在一部分節點下線或無法與叢集的大多數節點進行通訊的情況下, 仍然可以正常運作。
Redis 叢集對節點使用了主從複製功能: 叢集中的每個節點都有1 個至N 個複製(replica), 其中一個複製品為主節點( master), 而其餘的N-1 個複製品為從節點(slave)。 (推薦學習:Redis影片教學)
Redis主從複製的常用的幾種方式
一主二僕A(B、 C) 一個Master兩個Slave
薪火相傳(去中心化)A - B - C ,B既是主節點(C的主節點),又是從節點(A的從節點)
反客為主(主節點down掉後,手動操作升級從節點為主節點) & 哨兵模式(主節點down掉後,自動升級從節點為主節點)
主從複製:
1、redis的複製功能是支援多個資料庫之間的資料同步。一類是主資料庫(master)一類是從資料庫(slave),主資料庫可以進行讀寫操作,當發生寫入操作的時候自動將資料同步到從資料庫,而從資料庫一般是唯讀的,並且接收主資料庫同步過來的資料,一個主資料庫可以有多個從資料庫,而一個從資料庫只能有一個主資料庫。
2、透過redis的複製功能可以很好的實作資料庫的讀寫分離,提高伺服器的負載能力。主資料庫主要進行寫入操作,而從資料庫負責讀取操作。
1:當一個從資料庫啟動時,會向主資料庫傳送sync指令,
2:主資料庫接收到sync指令後會開始在背景儲存快照(執行rdb動作),並將保存期間接收到的命令緩存起來
3:當快照完成後,redis會將快照檔案和所有快取的命令發送給從資料庫。
4:從資料庫收到後,會載入快照檔案並執行收到的快取的命令
以上是redis叢集中的節點怎麼保證資料一致的詳細內容。更多資訊請關注PHP中文網其他相關文章!