«

Redis 持久化机制

时间:2026-10-9 07:28     作者:emer     分类: 无


Redis 持久化机制

Redis 是内存数据库,断电数据就没了,所以需要持久化。

1. 为什么要持久化

2. RDB 快照

原理: 定时把内存数据全量保存到磁盘。

优点:

缺点:

配置:

# redis.conf
save 900 1      # 900秒内1个key变化就保存
save 300 10     # 300秒内10个key变化
save 60 10000   # 60秒内10000个key变化

手动触发:

# 前台保存(阻塞)
redis-cli save

# 后台保存(不阻塞)
redis-cli bgsave

3. AOF 日志

原理: 记录每个写命令,重启时重放。

优点:

缺点:

配置:

# redis.conf
appendonly yes              # 开启AOF
appendfilename "appendonly.aof"

# 同步策略
appendfsync everysec       # 每秒同步(推荐)
# appendfsync always       # 每次写都同步
# appendfsync no           # 交给操作系统

AOF 重写:

# 手动触发AOF重写
redis-cli bgrewriteaof

4. RDB vs AOF 对比

对比项 RDB AOF
数据安全 可能丢数据 更安全
文件大小 小 大
恢复速度 快 慢
性能影响 fork阻塞 较小
适用场景 备份/容灾 数据安全要求高

5. 混合持久化

Redis 4.0+ 支持混合持久化:

配置:

aof-use-rdb-preamble yes

6. 生产建议

1)数据不敏感用 RDB

2)数据重要用 AOF

3)生产环境推荐

7. 数据恢复

RDB 恢复:

# 把 dump.rdb 放到数据目录
# 重启 Redis 自动加载

AOF 恢复:

# 开启 appendonly yes
# 重启自动重放AOF日志

8. 常见问题

1)fork 阻塞怎么办

2)AOF 文件太大

3)恢复慢怎么办

总结

Redis 持久化要点:

持久化是 Redis 生产必备配置,一定要重视。

标签: Redis 缓存 持久化 RDB AOF