標籤:主從 redis
redis主從:
作用:
實現資料的即時備份,可用來實現redis的讀寫分離及redis高可用
主從同步原理:
一主一從環境:
環境:2台redis,一台master一台slave
1,master等待命令進入
2,slave串連master,發送一個sync命令
3,master開始執行BESAVE,並使用緩衝區記錄BESAVE之後所執行的所以寫命令
4,slave端如果現在有請求進來,可以根據配置項來決定是繼續用當前資料做處理用戶端的請求還是給用戶端返回報錯
5,master BESAVE執行完之後,放slave發送快照檔案,並在發送過程中還是用緩衝區來記錄當前的寫入命令
6,slave丟棄舊資料(如果slave有資料的),開始載入master發過來的快照檔案
7,master 快照檔案發送完畢,開始發送緩衝期裡面的寫入命令
8,slave完成快照檔案的解釋操作之後,就像往常一樣開始接受命令請求(用戶端的請求)
9,master緩衝區的命令發送完畢之後,從現在開始就會master沒執行一個寫操作,就向從伺服器發送相同的命令
10,slave 執行完master伺服器發來的儲存在緩衝區命令,並從現在開始接受並執行主伺服器傳來的每個寫命令
一主多從環境:
環境:多個redis,一台master多個slave
當新的slave串連master有2種狀況
1,所有slave同時串連master的時候(步驟5還沒有執行)
執行過程:所有的slave會接受到相同的快照檔案和相同的緩衝區命令
2,已經有slave串連master的時候(步驟5,6正在執行或已經執行完)
執行過程:新加入的slave會重新執行上面的10個步驟
需要注意的是,slave接受到master的快照檔案會清空自己的資料檔案,redis不支援雙主
實施步驟:
就是就redis同步搭建其實挺簡單
在slave的設定檔或者redis_cli遠程終端上
slaveof <masterip> <masterport>
masterauth <master-password>#認證密鑰
本文出自 “王小酸” 部落格,轉載請與作者聯絡!
redis主從同步原理