Redis持久化机制RDB和AOF是面试必考重点,掌握它们才能确保数据安全不丢失。RDB通过快照实现全量备份,适合允许少量数据丢失的场景;AOF记录每个写操作日志,提供更高数据安全性。Redis 4.0推出的混合持久化结合两者优势,大幅提升恢复速度。本文深度解析RDB和AOF的核心机制、配置参数、性能优化及实战选型策略,并分享宕机恢复的完整流程。想系统掌握Redis持久化原理?立即获取2025最新Java面试宝典,备战金三银四面试季!面试鸭返利网提供海量题库和会员返利福利,助你轻松斩获offer。
2025年Java面试宝典最新版速取:
点击获取:链接: https://pan.baidu.com/s/1RUVf75gmDVsg8MQp4yRChg?pwd=9b3g 提取码: 9b3g
(覆盖Redis高频考点,备战金三银四必备!)
每次面试被问到Redis高可用,面试官十有八九会揪着RDB和AOF问到底。道理很简单——数据丢了,再快的缓存都是空谈。这俩兄弟就是Redis抗灾备的左右护法,搞不懂它们,线上宕机时就等着背锅吧!

核心机制一句话: 直接dump内存数据到磁盘二进制文件(dump.rdb)。
想象给Redis拍张全景照片,咔嚓一声全量备份完成。
高频追问点:
触发时机怎么控?
save 900 1(15分钟改1次就拍)bgsave手动拍(主进程fork子进程干活)shutdown save)致命弱点在哪?
老生常谈的数据丢失窗口!比如每隔5分钟拍一次,宕机就丢5分钟数据。电商场景丢5分钟订单?老板能把你头拧下来!
fork阻塞怎么破?
50GB的Redis实例做bgsave?fork瞬间可能阻塞主线程十几毫秒!应对方案就两条:
核心机制一句话: 把每个写操作记成日志(类似MySQL的binlog),重启时重放日志恢复数据。
高频灵魂三问:
写日志性能怎么保障?
appendfsync always # 每个写都刷盘→数据最安全→性能扑街
appendfsync everysec # 每秒刷盘(生产标配)
appendfsync no # 让操作系统决定→可能丢30秒数据
AOF文件膨胀怎么办?
日志滚到100GB还怎么玩?bgrewriteaof救场!
原理:fork子进程用内存数据生成新AOF,替换旧日志(注意:4.0前重写会阻塞,4.0后混合持久化才真香)
混合持久化是什么黑科技?
Redis 4.0的核弹级更新!
开启aof-use-rdb-preamble yes后:

| 维度 | RDB快照 | AOF日志 | |-------------|----------------------------------|--------------------------------| | 数据安全 | 可能丢几分钟数据 | everysec模式最多丢1秒 | | 文件体积 | 二进制压缩,体积小 | 文本日志,体积较大(可重写优化) | | 恢复速度 | 直接加载,贼快 | 重放日志,巨慢(除非开混合模式) | | 性能影响 | fork时可能阻塞 | 写日志有fsync开销 | | 适用场景 | 允许丢数据的缓存 | 金融级数据安全要求 |
血泪经验:
appendonly.aof是否损坏:redis-check-aof --fixdump.rdb顶上(丢数据总比全丢好)千万注意: 把备份文件放共享存储!曾经有哥们服务器硬盘炸了,备份也没了...
必杀话术:
“我们线上用AOF+混合持久化,但还会每小时用scp把备份文件传到另一台机器。另外监控aof_delayed_fsync指标,超过100就报警...”
附赠骚操作:
“Redis 7.0新增了Multi Part AOF,把单个大AOF拆成多个文件,避免重写时磁盘IO打满,建议升级!”
🔥 面试鸭会员限时福利
通过面试鸭返利网找我购买会员,立返25元现金!覆盖Java/大数据/云原生等题库,最新压轴题实时更新 ↓
回到首页:面试鸭返利网
(更多面试神技/独家资料/返利活动等你解锁)
扫码联系我返利
(当前返利8元,金额随官方实际价格波动,最好提前咨询)

面试鸭小程序码

美团大额优惠券,给自己加个鸡腿吧!

支付宝扫码领取1-8元无门槛红包
