Redis 提供了兩種持久化方法:RDB(快照)和 AOF(追加文件)。
配置 RDB: 在 redis.conf 配置文件中,可以找到以下相關配置項:
save 900 1
save 300 10
save 60 10000
這些配置項表示在 900 秒內有 1 個鍵值變更、300 秒內有 10 個鍵值變更或 60 秒內有 10000 個鍵值變更時,會觸發一次 RDB 快照。你可以根據實際需求調整這些值。
手動觸發 RDB:
你可以使用 SAVE 或 BGSAVE 命令手動觸發 RDB 快照。例如,執行 BGSAVE 命令會生成一個新的 RDB 文件,而不會阻塞 Redis 服務。
配置 AOF: 在 redis.conf 配置文件中,可以找到以下相關配置項:
appendonly yes
appendfilename "appendonly.aof"
這些配置項表示開啟 AOF 持久化,并將 AOF 文件命名為 “appendonly.aof”。你可以根據實際需求調整文件名。
AOF 重寫: 隨著數據量的增長,AOF 文件可能會變得很大。為了解決這個問題,Redis 提供了 AOF 重寫功能,可以將 AOF 文件壓縮到一個更小的體積。在 redis.conf 配置文件中,可以找到以下相關配置項:
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite yes
這些配置項表示開啟 AOF 持久化,并將 AOF 文件命名為 “appendonly.aof”。appendfsync everysec 表示每秒執行一次 fsync 操作,以確保數據的完整性。no-appendfsync-on-rewrite yes 表示在 AOF 重寫時,不執行 fsync 操作以提高性能。
手動觸發 AOF 重寫:
你可以使用 BGREWRITEAOF 命令手動觸發 AOF 重寫。這將會生成一個新的 AOF 文件,同時保留原始文件以便進行增量備份。
總結: Redis 提供了 RDB 和 AOF 兩種持久化方法,可以根據實際需求選擇合適的持久化策略。RDB 適用于備份和災難恢復場景,而 AOF 適用于數據完整性和持久性要求較高的場景。在實際應用中,可以將兩者結合使用,以實現更高級別的數據保護。