Redis数据持久化是面试必考点,主要有RDB快照、AOF日志和混合持久化三种方式。RDB通过定时全量备份实现高性能持久化,AOF通过记录写操作命令保障数据安全,混合持久化结合两者优势。想系统掌握Redis主从复制、集群等高阶知识点?立即下载《2025年Java面试宝典》,包含50+大厂真题解析。访问面试鸭返利网还能领取25元会员返现优惠,助你高效备战技术面试!点击链接获取全套Redis面试资料和实战技巧。
2025年Java面试宝典下载地址
(点击蓝色字体链接领取,提取码:9b3g)
(Redis持久化示意图)
在面试中如果被问到Redis数据持久化的问题,你可以这样回答——
Redis作为内存数据库,虽然读写速度快,但数据易丢失。持久化机制就是Redis保障数据可靠性的核心手段,目前主要有三种实现方式:RDB快照、AOF日志、混合持久化。下面具体展开分析。
RDB(Redis DataBase) 是Redis默认的持久化方案。它的核心原理是定时对内存中的全量数据生成二进制快照(dump.rdb文件)。举个例子,你可以配置Redis每隔1小时保存一次快照,或者当数据集有1000次修改时触发保存。
实际生产中,建议在从节点执行RDB备份,避免主节点因fork操作产生延迟。配置参数如下:
save 900 1 # 15分钟内有至少1个键被改动则保存
save 300 10 # 5分钟内有至少10个键被改动
AOF(Append Only File) 通过记录所有写操作命令实现持久化。举个例子,当执行SET name mianshiyafanli
时,这条命令会追加到AOF文件中。
(AOF重写过程示意图)
Redis 4.0推出的混合持久化结合了RDB和AOF的优势。它的原理是:
这种方式既保证了快速恢复,又能最大限度减少数据丢失。启用方法:
aof-use-rdb-preamble yes
需要特别注意:RDB和AOF可以同时启用,重启时优先加载AOF文件,因为它通常包含更完整的数据。
RDB fork子进程会阻塞主线程吗?
答:fork阶段会有短暂阻塞(与内存大小正相关),生成快照由子进程完成
AOF重写的触发条件?
答:auto-aof-rewrite-percentage(当前AOF文件比上次重写后体积增加的比例)
auto-aof-rewrite-min-size(允许重写的最小AOF文件大小)
如果需要系统化准备Redis面试题,推荐使用《2025年Java面试宝典》。这本资料整理了50+大厂真题,涵盖Redis主从复制、集群、缓存穿透等高频考点。
👉 点击获取《2025年Java面试宝典》(提取码:9b3g)
对了,最近发现一个省钱小技巧:通过**面试鸭返利网**购买原价99元的面试鸭会员,可以返现25元。需要刷题的同学可以试试看,能省则省嘛~
(扫码立即领取返利)
扫码联系我返利
(当前返利8元,金额随官方实际价格波动,最好提前咨询)
面试鸭小程序码
美团大额优惠券,给自己加个鸡腿吧!
支付宝扫码领取1-8元无门槛红包