redis 主要提供了兩種持久化的方案
- RDB 快照形式,可以手動執行也可以在 redis.conf 中配置,定期執行。
- RDB 的創建:
- SAVE 命令,阻塞服務器進程來進行穿件 RDB 文件。
- BGSAVE 派生一個子進程來創建新的 RDB 文件
- RDB 的載入一般是自動的,redis 服務器會自動檢測并載入 RDB 文件的存在。注: AOF 持久化優先使用
- RDB 的創建:
- AOF 持久化
- 備份 redis 服務器收到的命令來進行持久化
兩種方式的比較:
- AOF 更安全,但是需要更多的磁盤 IO,AOF 文件尺寸較大,文件內容恢復較慢,但也更完整。(類似于版本管理)
- RDB 安全性稍差,是正常時期數據備份及 master-slave 數據同步的最佳手段,文件尺寸較小,恢復速度也更快。