第一步:先說明 Redis 的兩種持久化機制
Redis 的備份主要靠持久化,有兩種方式:
-
RDB(Redis Database)
- 在指定時間間隔內生成數(shù)據(jù)集的時間點快照(一個
.rdb文件)。 - 默認配置下,如果滿足類似
save 900 1的條件,會自動觸發(fā) bgsave 生成 rdb 文件。 - 優(yōu)點:文件緊湊,適合備份、災難恢復;恢復大數(shù)據(jù)集比 AOF 快。
- 缺點:可能會丟最后一次快照之后的數(shù)據(jù)。
- 在指定時間間隔內生成數(shù)據(jù)集的時間點快照(一個
-
AOF(Append Only File)
- 記錄每個寫操作到日志文件(
.aof),重啟時重放這些操作來恢復數(shù)據(jù)。 - 可以配置
appendfsync always/everysec/no來控制同步頻率。 - 優(yōu)點:數(shù)據(jù)更完整,最多丟 1 秒數(shù)據(jù)。
- 缺點:文件體積大,恢復慢。
- 記錄每個寫操作到日志文件(
第二步:說明備份策略
在實際中,我們通常會:
- 同時開啟 RDB 和 AOF(保證數(shù)據(jù)安全且恢復快)。
- 定期將備份文件(RDB/AOF)復制到遠端(如云存儲、另一臺機器),防止物理故障。
- 也可以使用Redis 主從復制,從節(jié)點作為熱備份。