Redis 提供了两种主要的持久化机制来将内存中的数据保存到磁盘上,以防止数据丢失。这两种机制是 RDB(Redis DataBase)和 AOF(Append Only File)。以下是如何设置 Redis 持久化的步骤:
RDB 是 Redis 默认的持久化方式。它会在指定的时间间隔内生成数据集的时间点快照(snapshot)。
redis.conf,找到并修改以下配置项:# 设置 RDB 文件名
save 900 1
save 300 10
save 60 10000
# 如果需要禁用 RDB 持久化,可以将上述配置项注释掉或删除
这里的 save 配置项指定了在多少秒内至少有指定数量的键发生变化时,Redis 将执行一次 RDB 快照。例如,save 900 1 表示如果 900 秒内至少有 1 个键发生变化,则执行一次 RDB 快照。
SAVE
BGSAVE
SAVE 命令会阻塞 Redis 服务器直到快照完成,而 BGSAVE 命令会在后台异步执行快照操作。
AOF 持久化记录了服务器接收到的所有写操作命令,并在服务器启动时,通过重新执行这些命令来重建数据集。
redis.conf,找到并修改以下配置项:# 启用 AOF 持久化
appendonly yes
# 设置 AOF 文件名
appendfilename "appendonly.aof"
# 设置 AOF 重写策略
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
这里的 appendonly 配置项用于启用或禁用 AOF 持久化。appendfilename 配置项用于设置 AOF 文件的名称。auto-aof-rewrite-percentage 和 auto-aof-rewrite-min-size 配置项用于设置 AOF 文件自动重写的触发条件。
BGREWRITEAOF
这个命令会在后台异步执行 AOF 文件的重写操作。