Redis主從複製入門

主從複製

什麼是主從複製

  • 簡單來說,是使用兩個或兩個以上相同的數據庫,將一個數據庫當做主數據庫,而另一個數據庫當做從數據庫。在主數據庫中進行相應操作時,從數據庫記錄下所有主數據庫的操作,使其二者一模一樣。

主從複製的作用?

  • 讀寫分離,master讀,slave寫,提高服務器的讀寫負載能力

  • 負載均衡: 基於主從結構,配合讀寫分離又slave分擔master的負載,並根據需求的變化改變slave的數量,通過多個節點分擔數據讀取的負載,大大提高redis的併發量和吞吐量

  • 故障恢復: 當master出現問題,由slave提供服務

  • 數據冗餘: 實現數據的熱備份

  • 高可用基石: 基於主從複製,構建哨兵模式與集羣,實現redis高可用

主從複製大體可分3個階段

  • 建立連接

  • 數據同步

  • 命令傳播

主從複製的第一種連接方式

  • 啓動服務器後通過從服務器的 slaveof ip port 命令連接

  • 1. 啓動主服務器

  • 2. 啓動從服務器

  • 3. 連接主服務器

  • 4. 連接從服務器

  • 5. 從服務器執行 slaveof ip port 命令

    在這裏插入圖片描述

主從複製的第二種連接方式

  • 啓動服務器時進行連接

  • redis-server conf/redis-6380.conf --slaveof 127.0.0.1 6379

主從複製第三種連接方式(推薦)

  • 1. 修改從服務器配置文件,增加 slaveof ip port 配置

  • 2. 通過配置文件方式啓動從服務器

斷開主從複製連接

  • 在從服務器執行指令 slaveof no one

在這裏插入圖片描述

數據同步階段工作流程

在這裏插入圖片描述