溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

redis數(shù)據(jù)丟失怎么辦

發(fā)布時(shí)間:2021-08-12 12:47:14 來源:億速云 閱讀:330 作者:chen 欄目:編程語言

這篇文章主要介紹“redis數(shù)據(jù)丟失怎么辦”,在日常操作中,相信很多人在redis數(shù)據(jù)丟失怎么辦問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”redis數(shù)據(jù)丟失怎么辦”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

1. 兩種數(shù)據(jù)丟失的情況

主備切換的過程,可能導(dǎo)致數(shù)據(jù)丟失;

1.1. 異步復(fù)制導(dǎo)致的數(shù)據(jù)丟

redis數(shù)據(jù)丟失怎么辦

因?yàn)閙aster -> slave的復(fù)制是異步的,所以可能有部分?jǐn)?shù)據(jù)還沒復(fù)制到slave,master就宕機(jī)了,此時(shí)這些部分?jǐn)?shù)據(jù)就丟失了

1.2 腦裂導(dǎo)致的數(shù)據(jù)丟失

redis數(shù)據(jù)丟失怎么辦

腦裂就是說,某個(gè)maser 所在機(jī)器突然脫離了正常的網(wǎng)絡(luò),跟其他slave機(jī)器不能連接,但是實(shí)際上master還運(yùn)行著,此時(shí)哨兵可能就會(huì)認(rèn)為master 宕機(jī)了,然后開啟選舉,將其他slave切換成了master,這個(gè)時(shí)候,集群里面就會(huì)有2個(gè)master,也就是所謂的腦裂,此時(shí)雖然某個(gè)slave被切換成了master,但是可能client還沒來得及切換到新的master,還繼續(xù)寫向舊master的數(shù)據(jù)可能也丟失了,因此master再次恢復(fù)的時(shí)候,會(huì)被作為一個(gè)slave掛到新的master 上去,自己的數(shù)據(jù)將會(huì)清空,重新從新的master 復(fù)制數(shù)據(jù)

2. 解決異步復(fù)制和腦裂數(shù)據(jù)導(dǎo)致的數(shù)據(jù)丟失

   # redis.conf 配置
  Min-slaves-to-write 1
  Min-slaves-max-lag 10

上面這兩個(gè)配置可以減少異步復(fù)制和腦裂導(dǎo)致的數(shù)據(jù)丟失

###2.1 減少異步復(fù)制的數(shù)據(jù)丟失

有了min-slaves-max-lag這個(gè)配置,可以確保說,一旦slave復(fù)制數(shù)據(jù)和ack延遲太長,就認(rèn)為可能master 宕機(jī)后損失的數(shù)據(jù)太多了,那么就拒絕寫請(qǐng)求,這樣可以吧master宕機(jī)時(shí)由于部分?jǐn)?shù)據(jù)丟失。

2.2 減少腦裂的數(shù)據(jù)丟失

如果一個(gè)master出現(xiàn)了腦裂,跟其他slave丟了連接,那么上面這兩個(gè)配置可以去確保說,如果不能繼續(xù)給指定數(shù)量的slave發(fā)送數(shù)據(jù),而且slave超過10秒沒有給自己ack消息,那么就直接拒絕客戶端的寫請(qǐng)求,這樣腦裂活的舊master就不會(huì)接受client的新數(shù)據(jù),也就避免了數(shù)據(jù)丟失,上面配置確保了,如果跟任何一個(gè)slave丟了連接,在10秒后發(fā)現(xiàn)沒有slave給自己ack,那么就拒絕新的寫請(qǐng)求,因此腦裂場(chǎng)景下,最多丟失10秒的數(shù)據(jù)。

到此,關(guān)于“redis數(shù)據(jù)丟失怎么辦”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI