redis學習筆記---redis主從複製

    1、介紹
    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 秒, 那麼主服務器纔會執行客戶端請求的寫操做。只要有一個條件不知足,寫操做就不會執行,主服務器會向請求執行寫操做的客戶端返回一個錯誤。
    2、主從複製的部署:
    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
 
            
    3、主從複製須要注意的問題:
   ① 若是你使用主從複製,那麼要確保你的master激活了持久化,或者確保它不會在當掉後自動重啓。slave是master的完整備份,所以若是master經過一個空數據集重啓,slave也會被清掉。
    ②在配置redis複製功能的時候若是主數據庫設置了密碼,須要在從數據的配置文件中經過masterauth參數設置主數據庫的密碼,這樣從數據庫在鏈接主數據庫時就會自動使用auth命令認證了。至關於作了一個免密碼登陸。    
相關文章
相關標籤/搜索