您好,登錄后才能下訂單哦!
本篇內容主要講解“redis主從復制怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“redis主從復制怎么實現”吧!
一、介紹
redis的復制功能是支持多個數據庫之間的數據同步。一類是主數據庫(master)一類是從數據庫(slave),主數據庫可以進行讀寫操作,當發生寫操作的時候自動將數據同步到從數據庫,而從數據庫一般是只讀的,并接收主數據庫同步過來的數據,一個主數據庫可以有多個從數據庫,而一個從數據庫只能有一個主數據庫。
通過redis的主從復制功能可以很好的實現數據庫的讀寫分離,提高服務器的負載能力,主服務器主要負責寫操作,從服務器主要負責讀操作
主從復制的過程:
1:當一個從數據庫啟動時,會向主數據庫發送sync命令,
2:主數據庫接收到sync命令后會開始在后臺保存快照(執行rdb操作),并將保存期間接收到的命令緩存起來
3:當快照完成后,redis會將快照文件和所有緩存的命令發送給從數據庫。
4:從數據庫收到后,會載入快照文件并執行收到的緩存的命令。
注意:redis2.8之前的版本:當主從數據庫同步的時候從數據庫因為網絡原因斷開重連后會重新執行上述操作,不支持斷點續傳。redis2.8之后支持斷點續傳
注意:從 Redis 2.8 開始, 為了保證數據的安全性, 可以通過配置min-slaves-to-write, 讓一個主節點在至少有N個從節點的情況下才能執行寫操作。從節點以每秒一次的頻率ping主節點,主節點會記錄各個從服務器最后一次向它發送ping的時間。用戶可以通過配置, 指定網絡延遲的最大值 min-slaves-max-lag以及執行寫操作所需的最少從服務器數量 min-slaves-to-write
min-slaves-to-write 3
min-slaves-max-lag 10
如果至少有 min-slaves-to-write 個從服務器, 并且這些服務器的延遲值都少于 min-slaves-max-lag 秒, 那么主服務器才會執行客戶端請求的寫操作。只要有一個條件不滿足,寫操作就不會執行,主服務器會向請求執行寫操作的客戶端返回一個錯誤。
二、主從復制的部署:
Redis主從結構支持一主多從
主節點:192.168.1.170
從節點:192.168.1.171
注意:所有從節點的配置都一樣
方式1:手動修改配置文件
只需要額外修改從節點中redis的配置文件中的slaveof屬性即可
slaveof 192.168.1.170 6379
啟動170主節點上面的redis,查看redis的info信息(執行info命令 )
啟動171從節點上面的redis
,查看redis的info信息
方式2:動態設置
通過redis-cli 連接到從節點服務器,執行下面命令即可。
slaveof 192.168.1.170 6379
三、主從復制需要注意的問題:
① 如果你使用主從復制,那么要確保你的master激活了持久化,或者確保它不會在當掉后自動重啟。slave是master的完整備份,因此如果master通過一個空數據集重啟,slave也會被清掉。
②在配置redis復制功能的時候如果主數據庫設置了密碼,需要在從數據的配置文件中通過masterauth參數設置主數據庫的密碼,這樣從數據庫在連接主數據庫時就會自動使用auth命令認證了。相當于做了一個免密碼登錄。
到此,相信大家對“redis主從復制怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。