共計 1528 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇內容主要講解“redis 主從復制怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“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 主從復制怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!