《Redis學習整理--第七期Redis持久化》

Redis中存儲方式有兩種 cache-only,persistence;
  1. cache-only 緩存服務,不持久數據,服務停止後數據將消失,不存在數據恢復的可能性,是一種 安全性低 效率高 易拓展的方式
  2. persistence 持久化服務

persistence
redis 提供兩種持久化方法
  • Redis DataBase(簡稱RDB)
  • Append-only file (簡稱AOF)

RDB持久化
rdb持久化是將某一時間點的數據寫入一個臨時文件,持久化結束後,用這次的文件代替上次的文件,達到數據恢復。
優點 使用子進程進行持久化,主進程不會進行任何IO操作,保持了Redis高效性
缺點 如果在持久化過程中redis發生故障,可能會導致數據丟失

RDB持久化時間設置
RDB持久化的時間點是在配置文件中配置的,通過配置redis在n秒內如果超過m個Key被修改,則執行一次RDB操作,該持久化方法被叫做snapshots
RDB默認開啓 redis配置文件如下

snapshots觸發機制是 間隔時間變更次數 共同決定的,同時符合兩個條件纔會觸發snapshots,否則變更次數將會累積到下次間隔時間

AOF持久化
append-only file 將“操作”+“數據” 以格式化指令的方式寫入日誌文件的尾部,在append操作返回後(已經寫入或正在寫入),才進行實際的變更,"日誌文件"保存了歷史所有的操作過程,當server需要數據恢復時,可以直接replay此日誌文件,即可還原所有的操作過程。
優點:可以保持更高的數據完整性,如果設置追加file的時間是1s,如果redis發生故障,最多會丟失1s的數據;且如果日誌寫入不完整支持redis-check-aof來進行日誌修復;AOF文件沒被rewrite之前(文件過大時會對命令進行合併重寫),可以刪除其中的某些命令(比如誤操作的flushall)。
缺點:AOF文件比RDB文件大,且恢復速度慢。

AOF配置
AOF默認關閉,開啓方法,修改配置文件reds.conf:appendonly yes


AOF 同步選項


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章