上兩篇文章我們詳細介紹了rdb和aof,兩種持久化方式我們在實際應用中該如何選擇呢?他們各有什麼優缺點,如下
rdb與aof的選擇之感
- 對數據非常敏感,建議使用默認的aof持久化方案
- aof持久化策略使用everysecond,每秒種fsync一次,該策略redis扔可以保持很好的處理性能,當出現問題時,最多丟失0-1秒內的數據。
- 注意:由於aof文件存儲體積較大,且回覆速度較慢
-
數據呈現階段有效性,建議使用rdb持久化方案
-
數據可以良好的做到階段內無丟失(該階段是開發者或者運維人員手工維護的),且回覆速度較快,階段點數據恢復通常採用rdb方案
-
注意:利用rdb實現緊湊的數據持久化會使redis降的很低
綜合比對
rdb與aof的選擇實際上是在做一種權衡,每種都有利弊
如不能忍受數分鐘內的數據丟失,對業務數據非常敏感,選擇用aof
如能忍受數分鐘內的數據丟失,且追求大數據集的恢復速度,選用rdb
災難恢復選用rdb
雙保險策略,同時開啓rdb和aof,重啓後,redis優先使用aof來恢復數據,降低丟失數據的量