單個的redis可以自己進行持久化,然后把資料保存到自己的硬碟中存著,但是時間久了,機器老化,硬碟壞了怎么辦?或者由于不可抗力比如火災等情況,基于這種情景,redis提供了主從復制的機制;
主從復制:例如一個主節點redis,兩個從節點redis,兩個從節點的服務器隨便放在那里都行,放家里還是放在公司都行;
通常情況下主節點向外提供服務,從節點只是同步主節點中的資料不向外提供服務,所以當主節點的redis被由于不可抗力掛了,那么redis就用不了了;
注意:主從復制架構只是用于提供備份功能,主節點壞了,從節點不會頂上去,redis服務就掛了!
1. 主從節點配置
5000埠是主節點,6000和7000是兩個從節點,下圖所示,為了便于測驗,可以自己創建幾個啟動腳本:

我們以5000埠為例
cli5000.bat:
redis-cli.exe -h 127.0.0.1 -p 5000
啟動redis5000.bat:
redis-server .\redis5000.conf
redis5000.conf檔案就是將原來的那個組態檔復制一份,修改一點東西


至于其6000和7000節點的配置和上面一樣,復制一份修改就行
但是由于從節點需要指定主節點所在的ip和埠,所以在這兩個從節點組態檔中還需要修改一個地方:

我這里因為是本機測驗的,假如你是遠程的redis主機,在三個組態檔中需要將bind 127.0.0.1這里的配置改為bind 0.0.0.0 表示所有的客戶端都可以遠程連接
這里的ip根據自己需要進行修改,假如你修改了,上面的slaveof這里的ip也就需要相應的修改

2. 測驗主從效果
首先,點擊 啟動redis5000主.bat 和 啟動redis6000從.bat 啟動主從節點的服務端:

我們雙擊cli5000.bat 和 cli6000.bat啟動客戶端:

可以分別打開5000data和6000data目錄,當滿足持久化條件后就會有rdb和aof檔案生成了;
可以看到主從配置已經成功了,你可以打開你配制的所有從節點,都會自動從5000主節點中同步資料的;
需要注意的是,從節點默認是不能寫入資料的,只能讀,因為從節點默認只做備份的作用

想要從節點也能寫入資料,我們只需要在組態檔中修改一個地方,然后重啟redis服務端,下圖所示:
注意,從節點寫入的資料,只會在當前從節點中的,不會同步到其他節點!


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254332.html
標籤:其他
