1. 程式人生 > >企業級Redis開發運維從入門到實踐 (20)— Redis複製的原理與優化

企業級Redis開發運維從入門到實踐 (20)— Redis複製的原理與優化

什麼是主從複製

單機有什麼問題?

單機存在機器故障、容量瓶頸、QPS(每秒查詢率)瓶頸的問題。

主從複製的作用
  • 資料副本
  • 擴充套件讀效能;

一對一的主從結構 在這裡插入圖片描述

一對多的主從結構(主從備份、讀寫分離) 在這裡插入圖片描述

簡單示例 主節點 set 資料後,從節點可以 get 到主節點中寫入的資料。 在這裡插入圖片描述

總結
  • 一個 master 可以有多個 salve。
  • 一個 salve 只能有一個 master。
  • 資料流向是單向的,master 到 slave。

主從複製的配置

兩種實現方式
  • slaveof命令
  • 配置
命令實現

實現複製

  1. client客戶端執行 slaveof 命令;
  2. 從節點向客戶端返回訊息(非同步過程);
  3. 從節點從主節點複製資料。

在這裡插入圖片描述

從節點通過slave of切換新的主節點

通過slaveof命令還可以實現切主操作,所謂切主是指把當前從節點對主節點的複製切換到另一個主節點。 執行slaveof{newMasterIp} {newMasterPort}命令即可, 例如把6380節點從原來的複製6379節點變為復 制6381節點,如圖6-3所示

  1. 斷開與舊主節點複製關係;
  2. 與新主節點建立複製關係;
  3. 刪除從節點當前所有資料;
  4. 對新主節點進行復制操作。 在這裡插入圖片描述

取消複製

  1. client客戶端執行 slaveof no one 命令;
  2. 從節點與主節點斷開連線(之前從主節點複製的資料不會被清除,之後主節點新寫入的資料不會同步到從節點
    );
  3. 從節點向客戶端返回訊息(同步過程);
  4. 從節點晉升為主節點。

在這裡插入圖片描述

修改配置
# 當前節點稱為某一個主節點的從節點
slaveof  ip  port

# 設定該從節點只讀
slave-read-only  yes
比較
方式 命令 配置
優點 無需重啟 統一配置
缺點 不便於管理 需要重啟