就是將一台 redis 伺服器的資料,複製到其他的 redis 伺服器,前者為主節點(master/leader),後者稱為從節點(sl**e/follower),資料的複製是單向的,只能從主節點到從節點,一般 master 以寫為主,sl**e 以讀為主。
redis 主從複製可以根據是否是全量分為全量同步和增量同步
具體步驟如下:
從伺服器連線主伺服器,傳送 sync 同步命令;
主伺服器接收到 sync 命名後,開始執行 bgs**e 命令生成 rdb 檔案並使用緩衝區記錄此後執行的所有寫命令;
主伺服器 bgs**e 執行完後,向所有從伺服器傳送 rdb 快照檔案,並在傳送期間繼續記錄被執行的寫命令;
從伺服器收到 rdb 快照檔案後丟棄所有舊資料,記憶體載入收到的 rdb 快照檔案;
主伺服器將 rdb 快照檔案傳送完畢後,開始向從伺服器傳送緩衝區中的寫命令;
從伺服器完成對 rdb 快照檔案的載入,開始接收命令請求,並執行來自主伺服器緩衝區的寫命令
完成上面幾個步驟後就完成了從伺服器資料初始化的所有操作,從伺服器此時可以接收來自使用者的讀請求。
redis 增量同步是指 sl**e 初始化後開始正常工作時主伺服器發生的寫操作同步到從伺服器的過程。
增量複製的過程主要是主伺服器每執行乙個寫命令就會向從伺服器傳送相同的寫命令,從伺服器接收並執行收到的寫命令。
redis主從複製策略
redis 主從伺服器剛剛連線的時候,會進行全量同步;全同步結束後,再進行增量同步。當然,如果有需要,sl**e 在任何時候都可以發起全量同步。
資料冗餘:主從複製實現了資料的熱備份,是持久化之外的一種資料冗餘方式
故障恢復:當主節點出現問題時,可以由從節點提供服務,實現快速的故障恢復,實際上是一種服務的冗餘
負載均衡:在主從複製的基礎上,配合讀寫分離,可以由主節點提供寫功能,由從節點提供讀功能,分擔伺服器負載,尤其是在寫少讀多的場景下,通過多個從節點分擔讀負載,可以大大提高 redis 伺服器的併發量
高可用(ha)基石:主從複製還是哨兵和集群能夠實施的基礎
Redis 主從複製
主從複製的開啟,完全是在從節點發起的,不需要我們在主節點做任何事情,從節點開啟主從複製,有3種方式 主從複製主要可分為 連線建立階段 即準備階段 資料同步階段 命令傳播階段 主要作用是在主從節點之間建立連線,為資料同步做好準備 從節點資料的初始化,具體執行的方式是 從節點向主節點傳送psync命令 ...
redis主從複製
redis的高併發有一種實現方式就是主從架構,乙個master節點,多個sl e節點,可以很好的實現sl e節點的水平擴容 主從架構再加上讀寫分離,master節點負責寫操作,sl e節點負責讀操作,使得redis可以很好的做乙個高併發的處理。有人就會疑惑了 sl e節點上的資料怎麼來的了?所以我們...
Redis主從複製
主庫 192.168.138.20 6379 從庫 192.168.138.20 6380 配置 1 從庫redis 6380.conf配置檔案中加入如下兩行配置資訊 sl eof 192.168.138.20 6379 主庫ip 埠 masterauth 123456 主庫 redis 驗證密碼 ...