主頁 > 知識庫 > redis持久化的介紹

redis持久化的介紹

熱門標(biāo)簽:地方門戶網(wǎng)站 服務(wù)外包 百度競價排名 AI電銷 呼叫中心市場需求 Linux服務(wù)器 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化

1. RDB

1.1 RDB簡介

RDB:在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,也就是行話講的Snapshot快照,它恢復(fù)時是將快照文件直接讀到內(nèi)存里。

工作機制:每隔一段時間,就把內(nèi)存中的數(shù)據(jù)保存到硬盤上的指定文件中。

RDB是默認(rèn)開啟的!

Redis會單獨創(chuàng)建(fork)一個子進程來進行持久化,會先將數(shù)據(jù)寫入到一個臨時文件中,待持久化過程都結(jié)束了,再用這個臨時文件替換上次持久化好的文件。整個過程中,主進程是不進行任何IO操作的,這就確保了極高的性能如果需要進行大規(guī)模數(shù)據(jù)的恢復(fù),且對于數(shù)據(jù)恢復(fù)的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。

RDB的缺點是最后一次持久化后的數(shù)據(jù)可能丟失。

1.2 RDB保存策略

save 900 1    900 秒內(nèi)如果至少有 1 個 key 的值變化,則保存

save 300 10   300 秒內(nèi)如果至少有 10 個 key 的值變化,則保存

save 60 10000  60 秒內(nèi)如果至少有 10000 個 key 的值變化,則保存

save “”  就是禁用RDB模式;

1.3 RDB常用屬性配置

1.4 RDB數(shù)據(jù)丟失的情況

兩次保存的時間間隔內(nèi),服務(wù)器宕機,或者發(fā)生斷電問題。

1.5 RDB的觸發(fā)

         ①基于自動保存的策略

         ②執(zhí)行save,或者bgsave命令!執(zhí)行時,是阻塞狀態(tài)。

         ③執(zhí)行flushdb命令,也會產(chǎn)生dump.rdb,但里面是空的,沒有意義。

         ④當(dāng)執(zhí)行shutdown命令時,也會主動地備份數(shù)據(jù)

2. AOF

2.1 AOF簡介

  1. AOF是以日志的形式來記錄每個寫操作,將每一次對數(shù)據(jù)進行修改,都把新建、修改數(shù)據(jù)的命令保存到指定文件中。Redis重新啟動時讀取這個文件,重新執(zhí)行新建、修改數(shù)據(jù)的命令恢復(fù)數(shù)據(jù)。
  2. 默認(rèn)不開啟,需要手動開啟
  3. AOF文件的保存路徑,同RDB的路徑一致。
  4. AOF在保存命令的時候,只會保存對數(shù)據(jù)有修改的命令,也就是寫操作!
  5. 當(dāng)RDB和AOF存的不一致的情況下,按照AOF來恢復(fù)。因為AOF是對RDB的補充。備份周期更短,也就更可靠。

2.2 AOF保存策略

appendfsync always:每次產(chǎn)生一條新的修改數(shù)據(jù)的命令都執(zhí)行保存操作;效率低,但是安全!

appendfsync everysec:每秒執(zhí)行一次保存操作。如果在未保存當(dāng)前秒內(nèi)操作時發(fā)生了斷電,仍然會導(dǎo)致一部分?jǐn)?shù)據(jù)丟失(即1秒鐘的數(shù)據(jù))。

appendfsync no:從不保存,將數(shù)據(jù)交給操作系統(tǒng)來處理。更快,也更不安全的選擇。

推薦(并且也是默認(rèn))的措施為每秒 fsync 一次, 這種 fsync 策略可以兼顧速度和安全性。

2.3 AOF常用屬性

2.4 AOF文件的修復(fù)

如果AOF文件中出現(xiàn)了殘余命令,會導(dǎo)致服務(wù)器無法重啟。此時需要借助redis-check-aof工具來修復(fù)!

命令:redis-check-aof  --fix 文件

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

您可能感興趣的文章:
  • redis學(xué)習(xí)之RDB、AOF與復(fù)制時對過期鍵的處理教程
  • Redis兩種持久化方案RDB和AOF詳解
  • redis的2種持久化方案深入講解
  • Linux下redis的持久化、主從同步與哨兵詳解
  • 從源碼解讀redis持久化
  • 通過Nginx+Tomcat+Redis實現(xiàn)持久會話
  • Redis持久化RDB和AOF區(qū)別詳解

標(biāo)簽:仙桃 銅川 湖南 黃山 衡水 湘潭 蘭州 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《redis持久化的介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266