Redis 提供了两种主要的持久化策略来将内存中的数据保存到磁盘上,以防止数据丢失。这两种策略是 RDB(Redis DataBase)和 AOF(Append Only File)。你可以根据你的需求选择一种或同时使用两种策略。
RDB 是 Redis 默认的持久化方式。它会在指定的时间间隔内生成数据集的时间点快照(Snapshot)。
要配置 RDB,你需要编辑 Redis 的配置文件 redis.conf
,或者通过 CONFIG SET
命令动态设置。
以下是一些常用的 RDB 配置选项:
save
: 设置自动触发 RDB 快照的条件。例如,save 900 1
表示在 900 秒内至少有 1 个键发生变化时触发快照。stop-writes-on-bgsave-error
: 当后台保存失败时,是否禁止写入操作。rdbcompression
: 是否压缩 RDB 文件。rdbchecksum
: 在保存 RDB 文件时是否计算校验和。dbfilename
: RDB 文件的名称。dir
: RDB 文件保存的目录。AOF 持久化记录服务器接收到的所有写操作命令,并在服务器启动时,通过重新执行这些命令来重建数据集。
同样,你可以通过编辑 redis.conf
文件或使用 CONFIG SET
命令来配置 AOF。
以下是一些常用的 AOF 配置选项:
appendonly
: 是否开启 AOF 功能。设置为 yes
开启,no
关闭。appendfilename
: AOF 文件的名称。dir
: AOF 文件保存的目录。appendfsync
: 设置 AOF 文件同步到磁盘的频率。可选值有 always
(每次写操作都同步)、everysec
(每秒同步一次,默认值)和 no
(不同步,由操作系统决定)。你也可以同时启用 RDB 和 AOF 持久化。在这种情况下,当 Redis 重启时,会优先使用 AOF 文件来恢复数据,因为 AOF 文件通常比 RDB 文件更完整。如果你希望 RDB 文件作为备份,可以在配置文件中设置 save
选项,并确保 AOF 文件定期同步。