1. 程式人生 > >Redis主從複製模式

Redis主從複製模式

    Redis的主從複製模式是哨兵模式和叢集模式實現高可用的基礎,那麼什麼是主從複製模式呢?主從複製模式是Redis提供高可用的服務的手段,分為主節點和從節點,從節點複製來自主節點的資料(通過slave-read-only=true,表示從節點只接受讀命令),因為主節點不接受來自從節點的資料,因此一般主從複製模式都設定為主節點接受寫命令,從節點接受讀命令(這樣是為了保證主從節點的資料一致性)。

    那主節點會在什麼情況下將寫的資料複製到從節點呢?這裡redis提供了兩種模式:

        1、redis提供了repl-disable-tcp-nodelay引數用於控制複製模式,當關閉TCP_NODELAY時,主節點產生的命令資料無論大小都會及時傳送給從節點,這樣主從之間延遲變小,但增加了網路頻寬的消耗。主要適用於主從之間的網路環境良好的場景,如:同機架或者同機房部署。

        2、如果開啟TCP_NODELAY時,主從節點會合並較小的TCP資料包從而節省頻寬,預設傳送時間間隔取決於Linux的核心,一般預設為40毫秒。這種配置節省了頻寬但增加了主從之間的延遲。主要適用於主從網路環境複雜或者頻寬緊張的場景,如:跨機房部署。