Redis的持久化機制 - RDB
阿新 • • 發佈:2020-10-20
1. 什麼是RDB
RDB:每隔一段時間,把記憶體中的資料寫入磁碟的臨時檔案,作為快照,恢復的時候把快照檔案讀進記憶體。如果宕機重啟,那麼記憶體裡的資料肯定會沒有的,那
dis後,則會恢復。
2. 備份與恢復
記憶體備份 --> 磁碟臨時檔案
臨時檔案 --> 恢復到記憶體
3. RDB優劣勢
優勢
- 每隔一段時間備份,全量備份
- 災備簡單,可以遠端傳輸
- 子程序備份的時候,主程序不會有任何io操作(不會有寫入修改或刪除),保證備份資料的的完整性
- 相對AOF來說,當有更大檔案的時候可以快速重啟恢復
劣勢 - 發生故障是,有可能會丟失最後一次的備份資料
- 子程序所佔用的記憶體比會和父程序一模一樣,如會造成CPU負擔
- 由於定時全量備份是重量級操作,所以對於實時備份,就無法處理了。
4. RDB的配置
- 儲存位置,可以在redis.conf自定義:
/user/local/redis/working/dump.rdb
- 儲存機制:
save 900 1
save 300 10
save 60 10000
* 如果1個快取更新,則15分鐘後備份
* 如果10個快取更新,則5分鐘後備份
* 如果10000個快取更新,則1分鐘後備份
-
stop-writes-on-bgsave-error
yes:如果save過程出錯,則停止寫操作
no:可能造成資料不一致 -
rdbcompression
yes:開啟rdb壓縮模式
no:關閉,會節約cpu損耗,但是檔案會大,道理同nginx