Redis 提供了两种主要的数据备份方法:RDB(Redis DataBase)和 AOF(Append Only File)。
RDB 是 Redis 默认的持久化方式。它会在指定的时间间隔内生成数据集的时间点快照(Snapshot)。这些快照文件可以用于备份、灾难恢复等场景。
要创建 RDB 文件,你可以在 Redis 配置文件中设置 save
选项。例如,以下配置会在 900 秒内至少有 1 个键值变更时生成 RDB 文件:
save 900 1
你也可以使用 SAVE
或 BGSAVE
命令手动创建 RDB 文件。请注意,在执行这些命令时,Redis 会阻塞,直到 RDB 文件创建完成。
AOF 持久化记录了 Redis 服务器接收到的所有写操作命令。当 Redis 重启时,可以通过重新执行这些命令来恢复数据。AOF 文件通常用于确保数据的完整性和一致性。
要在 Redis 中启用 AOF 持久化,请在配置文件中设置 appendonly
选项为 yes
。例如:
appendonly yes
你还可以通过 appendfsync
选项设置 AOF 文件的同步策略。有以下几种选择:
no
: 不同步,Redis 会尽可能地快地写入 AOF 文件,但可能会丢失在系统崩溃时的数据。everysec
: 每秒同步一次,这是一种折中的选择,可以在性能和数据安全性之间取得平衡。always
: 每次写入都立即同步到磁盘,这可以确保数据的安全性,但会降低 Redis 的性能。创建 AOF 文件后,你可以使用 redis-check-aof
工具检查其完整性。如果发现 AOF 文件损坏,你可以使用 redis-restore
工具从其他备份中恢复数据。
总之,根据你的需求和场景,可以选择 RDB 或 AOF(或两者结合使用)进行 Redis 数据备份。