Redis 提供了两种主要的备份方法:RDB 和 AOF。下面分别介绍这两种方法的操作步骤。
- RDB 备份(快照)
RDB 是 Redis 默认的持久化方式,它会在指定的时间间隔内生成数据集的时间点快照(Snapshot)。这些快照文件可以用于备份、灾难恢复等场景。
操作步骤:
a. 首先,确保 Redis 配置文件(redis.conf)中的 save
配置项已经设置。例如,如果你希望每 5 分钟生成一次快照,可以将配置项设置为:
save 900 1 save 300 10 save 60 10000
这里,900
表示 5 分钟,1
表示在最后一次快照之后有 1 个键值变更时触发;300
表示 300 秒,10
表示在最后一次快照之后有 10 个键值变更时触发;60
表示 60 秒,10000
表示在最后一次快照之后有 10000 个键值变更时触发。
b. 使用 SAVE
或 BGSAVE
命令手动触发一次快照。例如,在命令行中输入 SAVE
或 BGSAVE
,Redis 会生成一个新的 RDB 文件。
c. 找到生成的 RDB 文件。默认情况下,RDB 文件会保存在 Redis 安装目录下,文件名为 dump.rdb
。你可以将其复制到其他存储介质上进行备份。
- AOF 备份(追加文件)
AOF(Append Only File)是另一种持久化方式,它记录了 Redis 服务器接收到的所有写操作命令。通过重放这些命令,可以从 AOF 文件中恢复数据。
操作步骤:
a. 确保 Redis 配置文件(redis.conf)中的 appendonly
配置项已经设置为 yes
。例如:
appendonly yes
b. 如果你希望将 AOF 文件存储在非默认目录,可以将 appendfilename
配置项设置为自定义路径。例如:
appendfilename "/path/to/your/appendonly.aof"
c. 使用 BGREWRITEAOF
命令手动触发一次 AOF 文件重写。这将生成一个包含所有当前数据集写操作命令的新 AOF 文件。例如,在命令行中输入 BGREWRITEAOF
。
d. 找到生成的 AOF 文件。默认情况下,AOF 文件会保存在 Redis 安装目录下,文件名为 appendonly.aof
。你可以将其复制到其他存储介质上进行备份。
注意:RDB 和 AOF 备份方法各有优缺点。RDB 备份文件占用的空间较小,恢复速度较快,但可能丢失最后一次快照之后的数据变更。AOF 备份文件包含了所有数据变更命令,恢复速度较慢,但可以保证数据的完整性。你可以根据自己的需求选择合适的备份方法。