溫馨提示×

溫馨提示×

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

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

Redis怎么備份與恢復(fù)數(shù)據(jù)庫數(shù)據(jù)

發(fā)布時間:2020-06-03 10:39:02 來源:億速云 閱讀:367 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

Redis怎么備份與恢復(fù)數(shù)據(jù)庫數(shù)據(jù)?其實要解決這個問題也不難,為此小編總結(jié)了這篇文章,下面我們一起來看看Redis備份與恢復(fù)數(shù)據(jù)庫的方法。

Redis所有數(shù)據(jù)都是保存在內(nèi)存中。下面講述三種備份方式:

1.定期地通過異步方式保存到磁盤上,該方式稱為半持久化模式。

1)半持久化RDB模式也是Redis備份默認方式,是通過快照完成的,當滿足redis.conf配置文件中設(shè)置的相關(guān)條件時,Redis會自動將內(nèi)存中的所有數(shù)據(jù)進行快照并存儲在硬盤上,完成數(shù)據(jù)備份。

2)RDB快照的條件由用戶在redis.conf配置文件中自定義,由時間和改動的關(guān)鍵字數(shù)來確定,當在指定的時間內(nèi)被更改的鍵的個數(shù)大于指定的數(shù)值時就會時進行快照。以下是預(yù)置的3個條件,只要滿足其中一個條件,就會進行快照。

save 900 1 #刷新快照到硬盤中,必須滿足兩者要求才會觸發(fā),即900秒之后至少1個關(guān)鍵字發(fā)生變化。
save 300 10 #必須是300秒之后至少10個關(guān)鍵字發(fā)生變化。
save 60 10000 #必須是60秒之后至少10000個關(guān)鍵字發(fā)生變化。

3)如果禁用自動快照,將所有save參數(shù)刪除或注釋即可。

4)獲取redis數(shù)據(jù)保存的路徑:

127.0.0.1:6379> config get dir

"dir"

"/usr/local/redis/bin"

5)建議修改數(shù)據(jù)保存路徑: # vim redis.conf 

dir ./  #默認所在安裝的目錄

dir /data/redis   #修改成新的路徑

操作技能:要先創(chuàng)建好保存路徑,配置文件才會生效,否則會宕掉redis服務(wù)

[root@redis_master /]# mkdir -p /data/redis 

6)測試修改數(shù)據(jù)存放效果

127.0.0.1:6379> config get dir

 "dir"

"/data/redis"

7)RDB方式實現(xiàn)持久化,一旦Redis異常退出,就會丟失最后次快照以后更改的所有數(shù)據(jù)。
2.全持久化AOF模式

1)如果數(shù)據(jù)很重要,不能損失任數(shù)據(jù),可以考慮使用AOF方式進行持久化,默認Redis沒有開啟AOF方式的全持久化模式。

2)允許同時開啟AOF和RDB,即保證了數(shù)據(jù)安全又使得進行備份等操作十分容易。

3)參數(shù)配置詳解:

appendonly yes #開啟AOF持久化功能

appendifilename appendonly.aof #保存文件名

appendfsync always #每次執(zhí)行寫入都會執(zhí)行同步,最安全也最慢

auto-aof-rewirte-percentage 100 #參數(shù)的意義時當目前的AOF文件大小超過上一次AOF重寫時的文件大小的百分之多少時會再次進行重寫,如果之前沒有重寫過,則以啟動時的AOF文件大小為依據(jù)。

auto-aof-rewrite-min-size 64MB #限制允許重寫的AOF文件最小的大小。

appendsync everysec  #每秒執(zhí)行一次同步操作。

appendsync no  #不主動進行同步操作,每30s一次,最快也不最安全。

3.Redis主從復(fù)制備份

1)通過持久化功能,保證了即使服務(wù)器重啟的情況下也不會損失或少量損失數(shù)據(jù)。但是由于數(shù)據(jù)是存儲在一臺服務(wù)器上的,如果這臺服務(wù)器的硬盤出現(xiàn)故障,也會導(dǎo)致數(shù)據(jù)丟失。

2)為了避免單點故障,將數(shù)據(jù)庫復(fù)制多個副本以部署在不同的服務(wù)器上,即使有一臺服務(wù)器出現(xiàn)故障其他服務(wù)器依然可以繼續(xù)提供服務(wù),這就要求當一臺服務(wù)器上的數(shù)據(jù)庫更新后,可以自動將更新的數(shù)據(jù)同步到其他服務(wù)器上。

3)可以基于主從同步實現(xiàn)讀寫分離以提高服務(wù)器的負載能力。

4)主數(shù)據(jù)庫只進行操作,而從數(shù)據(jù)庫負責讀操作。

5)可以基于LVS+keepalived對Redis實現(xiàn)均衡和高可用。

6)主庫崩潰時可以降為從庫,從庫也可以升級成為主庫。

關(guān)于Redis備份與恢復(fù)數(shù)據(jù)庫的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI