Redis持久化
Redis有2種持久化策略: RDB和AOF。

RDB是Redis默認(rèn)的持久化策略,這種策略是把數(shù)據(jù)庫(kù)的快照以二進(jìn)制形式的副本保存在磁盤(pán)上。
RDB持久化觸發(fā)條件
SAVE命令: 當(dāng)客戶端執(zhí)行SAVE命令時(shí),會(huì)阻塞Redis主線程進(jìn)行數(shù)據(jù)持久化,直到持久化完成。Redis在阻塞期間不能處理客戶端的請(qǐng)求。
BGSAVE命令: 當(dāng)客戶端執(zhí)行BGSAVE命令時(shí),Redis會(huì)fork一個(gè)子進(jìn)程進(jìn)行數(shù)據(jù)持久化,因此并不會(huì)阻塞Redis服務(wù)。
FLUSHALL命令: 當(dāng)客戶端執(zhí)行FLUSHALL命令時(shí),會(huì)清空Redis所有數(shù)據(jù)庫(kù)的數(shù)據(jù),并且也會(huì)觸發(fā)數(shù)據(jù)同步。
save配置: Redis會(huì)按照配置文件中的save配置的條件進(jìn)行數(shù)據(jù)同步,一旦滿足條件,就會(huì)執(zhí)行BGSAVE命令,即fork一個(gè)子進(jìn)程進(jìn)行同步。
shutdown: 當(dāng)Redis服務(wù)關(guān)閉時(shí),也會(huì)將數(shù)據(jù)同步到磁盤(pán),以便下次啟動(dòng)時(shí)恢復(fù)。
RDB的優(yōu)點(diǎn):
文件體積小,恢復(fù)大數(shù)據(jù)較快
最大化Redis性能: Redis會(huì)fork出子進(jìn)程進(jìn)行數(shù)據(jù)同步,并不影響Redis的性能。
RDB的缺點(diǎn):
數(shù)據(jù)安全性較低: 如果不顯示的執(zhí)行SAVE命令,那么Redis隔一段時(shí)間才會(huì)同步數(shù)據(jù),可能會(huì)造成一定程度的數(shù)據(jù)丟失。
AOF策略是把已經(jīng)執(zhí)行過(guò)的命令以文本的方式追加到AOF文件的末尾,以此達(dá)到記錄數(shù)據(jù)庫(kù)狀態(tài)的目的。 AOF默認(rèn)情況下是關(guān)閉的,當(dāng)配置選項(xiàng) appendonly 設(shè)置為yes后才會(huì)進(jìn)行AOF的持久化。
appendfsync指定了AOF的同步策略,它有三個(gè)可選值。
no: no代表Redis不親自持久化,而是通過(guò)系統(tǒng)調(diào)用write函數(shù)每隔一段時(shí)間將數(shù)據(jù)寫(xiě)入文件。 這種情況下如果服務(wù)器發(fā)生故障,可能會(huì)有數(shù)據(jù)還沒(méi)來(lái)得及同步就丟失了。
always: always表示Redis每次執(zhí)行寫(xiě)操作都會(huì)將數(shù)據(jù)同步到文件中。 這種策略雖然保證了數(shù)據(jù)的安全性,但是對(duì)Redis的性能會(huì)有影響。
everysec: everysec是AOF默認(rèn)的持久化策略,這種策略下, 系統(tǒng)每一秒都會(huì)將數(shù)據(jù)寫(xiě)入文件,兼顧了性能和數(shù)據(jù)安全性。
AOF優(yōu)點(diǎn):
數(shù)據(jù)安全性較高,秒級(jí)丟失
AOF缺點(diǎn):
文件體積大,恢復(fù)大數(shù)據(jù)較慢
兩種持久化方式各有優(yōu)缺點(diǎn),可以選擇混合的方式進(jìn)行備份。?混合持久化后,文件的內(nèi)容大部分都是RDB格式的,恢復(fù)起來(lái)較快, 以AOF的方式同步也能保證數(shù)據(jù)的安全性。
Redis 數(shù)據(jù)復(fù)制服務(wù) DRS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。