1. 程式人生 > >linux centos 7下實現redis主從複製

linux centos 7下實現redis主從複製

先看安裝過程:

http://blog.csdn.net/fyihdg/article/details/79131879

1.        主從複製

      a,方式一、新增redis6380.conf,加入 slaveof192.168.1.1116379,  在6379啟動完後再啟6380,完成配置;


      b,方式二、redis-server--slaveof 192.168.1.111 6379

      c,檢視狀態:inforeplication

      d,斷開主從複製:在slave節點,執行6380:>slaveofno one

      e,斷開後再變成主從複製:6380:>slaveof 192.168.1.111 6379

      f,資料較重要的節點,主從複製時使用密碼驗證:requirepass

      e,從節點建議用只讀模式slave-read-only=yes,若從節點修改資料,主從資料不一致      

      h,傳輸延遲:主從一般部署在不同機器上,複製時存在網路延時問題,redis提供repl-disable-tcp-nodelay引數決定是否關閉TCP_NODELAY,預設為關閉

引數關閉時:無論大小都會及時釋出到從節點,佔頻寬,適用於主從網路好的場景,

引數啟用時:主節點合併所有資料成TCP包節省頻寬,預設為40毫秒發一次,取決於核心,主從的同步延遲40毫秒,適用於網路環境複雜或頻寬緊張,如跨機房

         2,主從拓撲:支援單層或多層

    A,一主一從:用於主節點故障轉移從節點,當主節點的“寫”命令併發高且需要持久化,可以只在從節點開啟AOF(主節點不需要),這樣即保證了資料的安全性,也避免持久化對主節點的影響


   B, 一主多從:針對“讀”較多的場景,“讀”由多個從節點來分擔,但節點越多,主節點同步到多節點的次數也越多,影響頻寬,也加重主節點的穩定


C,樹狀主從:一主多從的缺點(主節點推送次數多壓力大)可用些方案解決,

          主節點只推送一次資料到從節點1,再由從節點2推送到11,減輕主節點推送的壓力。



1.        複製原理

執行slavemaster port後,

與主節點連線,同步主節點的資料,6380:>info replication:檢視主從及同步資訊


3,資料同步:

redis 2.8版本以上使用psync命令完成同步,過程分“全量”與“部分”複製

全量複製:一般用於初次複製場景(第一次建立SLAVE後全量)

部分複製:網路出現問題,從節佔再次連主時,主節點補發缺少的資料,每次                            資料增加同步

心跳:主從有長連線心跳,主節點預設每10S向從節點發ping命令,repl-ping-slave-period控制傳送頻率


此時目錄結構:


redis6380.conf直接是複製redis.conf,只需要在redis6380.conf加上:

slaveof 192.168.177.168 6379

但要注意,要把#requirepass 123456註釋了,否則會出現下面問題:


然後依次啟動:

 ./redis-server redis.conf &

./redis-server redis6380.conf &

就可以,是不是很簡單?




這樣就完成了