redis的主從複製配置

來源:互聯網
上載者:User
一、     原理

Redis的主從複製功能非常強大,一個master可以擁有多個slave,而一個slave又可以擁有多個slave,如此下去,形成了強大的多級伺服器叢集架構。下面是關於redis主從複製的一些特點:
1.master可以有多個slave
2.除了多個slave連到相同的master外,slave也可以串連其他slave形成圖狀結構
3.主從複製不會阻塞master。也就是說當一個或多個slave與master進行初次同步資料時,master可以繼續處理client發來的請求。相反slave在初次同步資料時則會阻塞不能處理client的請求。
4.主從複製可以用來提高系統的延展性,我們可以用多個slave 專門用於client的讀請求,比如sort操作可以使用slave來處理。也可以用來做簡單的資料冗餘
5.可以在master禁用資料持久化,只需要注釋掉master 設定檔中的所有save配置,然後只在slave上配置資料持久化。

下面介紹下主從複製的過程
       當設定好slave伺服器後,slave會建立和master的串連,然後發送sync命令。無論是第一次同步建立的串連還是串連斷開後的重新連 接,master都會啟動一個後台進程,將資料庫快照集儲存到檔案中,同時master主進程會開始收集新的寫命令並緩衝起來。後台進程完成寫檔案 後,master就傳送檔案給slave,slave將檔案儲存到磁碟上,然後載入到記憶體恢複資料庫快照集到slave上。接著master就會把緩衝的命 令轉寄給slave。而且後續master收到的寫命令都會通過開始建立的串連發送給slave。從master到slave的同步資料的命令和從 client發送的命令使用相同的協議格式。當master和slave的串連斷開時slave可以自動重建立立串連。如果master同時收到多個 slave發來的同步串連命令,只會使用啟動一個進程來寫資料庫鏡像,然後發送給所有slave。

二、     配置

下面我示範下怎樣在多台伺服器上進行Redis資料主從複製。我假設有兩台伺服器,一台是Linux作業系統(區域網路IP:192.168.1.4,master伺服器),一台是Linux作業系統(區域網路IP:192.168.1.5,slave伺服器)

配置slave伺服器很簡單,只需要在設定檔(redis.conf)中加入如下配置
bind  192.168.1.5(從伺服器,此處預設是127.0.0.1,請修改成原生IP地址,要不然,用戶端無法進行訪問)

slaveof 192.168.1.4 6379  (映射到主伺服器上)

如果是在一台機器上面配置主從關係,那麼還需要修改從伺服器的預設連接埠號碼,同樣也在redis.conf中進行修改。

其中還有些redis自身的配置請參見我的另一篇文章

三、     測試

當啟動master機器後,寫入資料到master後,這時啟動slave機器,可以發現slave上:

 

會發送一個SYNC請求,從Master上面進行相應,而且它支援自動重連,即當master掉線的情況下,它會處於等待請求的狀態。

而Master上:

 

 

兩台機器的dump檔案大小一樣:

192.168.1.5(slave):

 

192.168.1.4(master):


 

從Redis源碼中,可以發現rdb檔案採用的是lzf壓縮演算法進行實現,預設lzf壓縮演算法是開啟的。

這樣你可以通過其他的用戶端程式或者Web平台去讀取Slave磁碟資料庫的資料,真正達到了讀寫分離的目的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.