Redis持久化之RDB

Redis持久化之RDB

RDB (快照)持久化:保存某個(gè)時(shí)間點(diǎn)的全量數(shù)據(jù)快照。

在配置文件中進(jìn)行配置

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes  # 當(dāng)備份進(jìn)程出錯(cuò)的時(shí)候就停止主進(jìn)程寫(xiě)入數(shù)據(jù)

rdbcompression yes    # RDB備份文件是否開(kāi)啟壓縮,建議為no,redis本身就是CPU密集型進(jìn)程

以save 900 1為例,意思是在900s內(nèi),出現(xiàn)1一條數(shù)據(jù)變動(dòng)就進(jìn)行一次RDB備份。


Redis的持久化方式

? SAVE :阻塞Redis的服務(wù)器進(jìn)程,直到RDB文件被創(chuàng)建完畢
? BGSAVE : Fork出一-個(gè)子進(jìn)程來(lái)創(chuàng)建RDB文件,不阻塞服務(wù)器進(jìn)程

自動(dòng)化觸發(fā)RDB持久化的方式

  • 根據(jù)redis.conf配置里的SAVE m n定時(shí)觸發(fā)(用的是BGSAVE )
  • 主從復(fù)制時(shí)BGSAVE,主節(jié)點(diǎn)自動(dòng)觸發(fā)
  • 執(zhí)行Debug Reload
  • 執(zhí)行SHUTDOWN的時(shí)候沒(méi)有開(kāi)啟AOF持久化

BGSAVE原理

BGSAVE原理

系統(tǒng)調(diào)用fork() :創(chuàng)建進(jìn)程,實(shí)現(xiàn)了Copy-on-Write

Copy-on-Write
如果有多個(gè)調(diào)用者同時(shí)要求相同資源(如內(nèi)存或磁盤(pán)上的數(shù)據(jù)存儲(chǔ)),他們會(huì)共同獲取相同的指針指向相同的資源,直到某個(gè)調(diào)用者試圖修改資源的內(nèi)容時(shí),系統(tǒng)才會(huì)真正復(fù)制一份專(zhuān)用副本給該調(diào)用者,而其他調(diào)用者所見(jiàn)到的最初的資源仍然保持不變


使用RDB持久化的缺點(diǎn)

  • 內(nèi)存數(shù)據(jù)的全量同步, 數(shù)據(jù)量大會(huì)由于I/O而嚴(yán)重影響性能
  • 可能會(huì)因?yàn)镽edis掛掉而丟失從當(dāng)前至最近一-次快照期間的數(shù)據(jù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Redis 有兩種持久化方案,RDB (Redis DataBase)和 AOF (Append Only Fil...
    lirensoso閱讀 160評(píng)論 0 0
  • 一、Redis高可用概述 在介紹Redis高可用之前,先說(shuō)明一下在Redis的語(yǔ)境中高可用的含義。 我們知道,在w...
    空語(yǔ)閱讀 1,686評(píng)論 0 2
  • Redis 相對(duì)于其他NoSQL 內(nèi)存數(shù)據(jù)庫(kù)而言,除了更富的數(shù)據(jù)結(jié)構(gòu)和速度快之外,Redis 的豐富的持久化方案也...
    鄒志全閱讀 257評(píng)論 0 2
  • 一、Redis持久化概述 持久化的功能:Redis是內(nèi)存數(shù)據(jù)庫(kù),數(shù)據(jù)都是存儲(chǔ)在內(nèi)存中,為了避免進(jìn)程退出導(dǎo)致數(shù)據(jù)的永...
    心似南風(fēng)閱讀 1,014評(píng)論 0 1
  • 企業(yè)級(jí)redis集群架構(gòu)的特點(diǎn) 海量數(shù)據(jù) 高并發(fā) 高可用 要達(dá)到高可用,持久化是不可減少的,持久化主要是做災(zāi)難恢復(fù)...
    lucode閱讀 2,285評(píng)論 0 7

友情鏈接更多精彩內(nèi)容