redis主從復(fù)制的原理是什么?為了大家讓大家更加了解redis主從復(fù)制,小編給大家總結(jié)了以下內(nèi)容,一起往下看吧。
創(chuàng)新互聯(lián)公司主營盂縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),盂縣h5微信小程序開發(fā)搭建,盂縣網(wǎng)站營銷推廣歡迎盂縣等地區(qū)企業(yè)咨詢redis的復(fù)制功能是支持多個(gè)數(shù)據(jù)庫之間的數(shù)據(jù)同步。一類是主數(shù)據(jù)庫(master)一類是從數(shù)據(jù)庫(slave),主數(shù)據(jù)庫可以進(jìn)行讀寫操作,當(dāng)發(fā)生寫操作的時(shí)候自動(dòng)將數(shù)據(jù)同步到從數(shù)據(jù)庫,而從數(shù)據(jù)庫一般是只讀的,并接收主數(shù)據(jù)庫同步過來的數(shù)據(jù),一個(gè)主數(shù)據(jù)庫可以有多個(gè)從數(shù)據(jù)庫,而一個(gè)從數(shù)據(jù)庫只能有一個(gè)主數(shù)據(jù)庫。
通過redis的主從復(fù)制功能可以很好的實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離,提高服務(wù)器的負(fù)載能力,主服務(wù)器主要負(fù)責(zé)寫操作,從服務(wù)器主要負(fù)責(zé)讀操作
主從復(fù)制的過程:
1:當(dāng)一個(gè)從數(shù)據(jù)庫啟動(dòng)時(shí),會(huì)向主數(shù)據(jù)庫發(fā)送sync命令,
2:主數(shù)據(jù)庫接收到sync命令后會(huì)開始在后臺(tái)保存快照(執(zhí)行rdb操作),并將保存期間接收到的命令緩存起來
3:當(dāng)快照完成后,redis會(huì)將快照文件和所有緩存的命令發(fā)送給從數(shù)據(jù)庫。
4:從數(shù)據(jù)庫收到后,會(huì)載入快照文件并執(zhí)行收到的緩存的命令。
注意:redis2.8之前的版本:當(dāng)主從數(shù)據(jù)庫同步的時(shí)候從數(shù)據(jù)庫因?yàn)榫W(wǎng)絡(luò)原因斷開重連后會(huì)重新執(zhí)行上述操作,不支持?jǐn)帱c(diǎn)續(xù)傳。redis2.8之后支持?jǐn)帱c(diǎn)續(xù)傳。
注意:從 Redis 2.8 開始, 為了保證數(shù)據(jù)的安全性, 可以通過配置min-slaves-to-write, 讓一個(gè)主節(jié)點(diǎn)在至少有N個(gè)從節(jié)點(diǎn)的情況下才能執(zhí)行寫操作。從節(jié)點(diǎn)以每秒一次的頻率ping主節(jié)點(diǎn),主節(jié)點(diǎn)會(huì)記錄各個(gè)從服務(wù)器最后一次向它發(fā)送ping的時(shí)間。用戶可以通過配置, 指定網(wǎng)絡(luò)延遲的大值 min-slaves-max-lag以及執(zhí)行寫操作所需的最少從服務(wù)器數(shù)量
min-slaves-to-write min-slaves-to-write 3 min-slaves-max-lag 10
如果至少有 min-slaves-to-write 個(gè)從服務(wù)器, 并且這些服務(wù)器的延遲值都少于 min-slaves-max-lag 秒, 那么主服務(wù)器才會(huì)執(zhí)行客戶端請(qǐng)求的寫操作。只要有一個(gè)條件不滿足,寫操作就不會(huì)執(zhí)行,主服務(wù)器會(huì)向請(qǐng)求執(zhí)行寫操作的客戶端返回一個(gè)錯(cuò)誤。
二、主從復(fù)制的部署:
Redis主從結(jié)構(gòu)支持一主多從
主節(jié)點(diǎn):192.168.1.170
從節(jié)點(diǎn):192.168.1.171
注意:所有從節(jié)點(diǎn)的配置都一樣
方式1:手動(dòng)修改配置文件
只需要額外修改從節(jié)點(diǎn)中redis的配置文件中的slaveof屬性即可
slaveof 192.168.1.170 6379
啟動(dòng)170主節(jié)點(diǎn)上面的redis,查看redis的info信息(執(zhí)行info命令 )
啟動(dòng)171從節(jié)點(diǎn)上面的redis
查看redis的info信息
方式2:動(dòng)態(tài)設(shè)置
通過redis-cli 連接到從節(jié)點(diǎn)服務(wù)器,執(zhí)行下面命令即可。
三、主從復(fù)制需要注意的問題:
① 如果你使用主從復(fù)制,那么要確保你的master激活了持久化,或者確保它不會(huì)在當(dāng)?shù)艉笞詣?dòng)重啟。slave是master的完整備份,因此如果master通過一個(gè)空數(shù)據(jù)集重啟,slave也會(huì)被清掉。
②在配置redis復(fù)制功能的時(shí)候如果主數(shù)據(jù)庫設(shè)置了密碼,需要在從數(shù)據(jù)的配置文件中通過masterauth參數(shù)設(shè)置主數(shù)據(jù)庫的密碼,這樣從數(shù)據(jù)庫在連接主數(shù)據(jù)庫時(shí)就會(huì)自動(dòng)使用auth命令認(rèn)證了。相當(dāng)于做了一個(gè)免密碼登錄。
看完上文,你對(duì)redis主從復(fù)制的原理是什么大概了解了嗎?如果想了解更多,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道哦!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。