首先我們會在從庫配置中文件加入slaveof masterHost masterPort來指定相應的主庫。此時如果啟動從庫,那么redis會找到指定ip和端口號來連接master;如果是一個正在運行的redis服務器,那么我們可以執行slaveof masterHost masterPort命令來讓從庫開始復制。
下面表格展示了redis在主從復制時經歷了哪些步驟:
步驟 | 主服務器 | 從服務器 |
---|---|---|
1 | 正常運行中… | 發送sync命令,連接到主服務器 |
2 | 執行bgsave命令,并將稍后的寫命令記錄到緩沖區 | 如果配置slave-serve-stale-data 為 yes( 默認設置 ) ,從庫會繼續響應客戶端的請求;否則除了 INFO 和 SLAVOF 命令之外的任何請求都會返回給客戶端一個錯誤提示 |
3 | bgsave執行完畢,向從庫發送快照文件,期間繼續使用緩沖區記錄寫命令 | 丟棄所有數據,載入主庫的快照文件 |
4 | 快照發送完畢,開始發送之前提到的緩沖區中的寫命令 | 完成快照的解釋運行,開始正常接收命令請求 |
5 | 緩沖區內容發送完畢,從此,每執行一個命令,都會想從服務器發送相同命令 | 執行主庫發來的緩沖區中的命令,執行完畢之后,接收并執行主庫發來的每一條寫命令 |
需要注意的是從庫在開始復制時,會先將本身的數據清空。
更多redis知識請關注redis入門教程欄目。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦