【Redis】深入理解 Redis 持久化机制 —— RDB 和 AOF
Redis 提供了两种持久化机制 RDB(Redis DataBase)和 AOF(Append Only File)。
RDB:
RDB 是 Redis 默认的持久化方式。在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是 Snapshot 快照,保存的文件后缀是 .rdb
。
# 在 redis.conf 配置文件中设置
save 900 1 # 900 秒内至少 1 个键被修改则触发保存
save 300 10 # 300 秒内至少 10 个键被修改则触发保存
save 60 10000 # 60 秒内至少 10000 个键被修改则触发保存
AOF:
AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库状态的。在发起写命令时,Redis 会将命令追加到文件末尾。
# 在 redis.conf 配置文件中设置
appendonly yes # 开启 AOF 持久化存储
appendfilename "appendonly.aof" # AOF 文件名
# appendfsync 选项
# always: 每个写命令都同步,最慢但最安全
# everysec: 每秒同步一次,折衷方案
# no: 由操作系统决定何时同步
appendfsync everysec
选择合适的持久化方式:
- 如果对数据的一致性和完整性要求较高,且对于数据的恢复速度要求不高,可以选择 RDB 方式。
- 如果对数据的完整性和恢复时间要求较高,且可以接受较长的停机时间,可以选择 AOF 方式。
- 可以同时开启两种持久化方式,Redis 会优先使用 AOF 来恢复数据。
评论已关闭