Redis 6.2 并未新增持久化机制,依旧采用 RDB 与 AOF 两种方案;相关配置项、触发方式、文件格式以及混合持久化能力都与 Redis 6.0 保持一致,主要变化只是修复了 fork 阻塞和 AOF 重写过程中的稳定性问题。

没有。Redis 6.2 没有推出新的持久化方案,RDB 和 AOF 的运行行为、配置参数、触发逻辑与 6.0 基本完全相同;这一版本更多是修复了一些与 bgsa ve fork 阻塞、AOF rewrite 期间缓冲区溢出有关的稳定性问题,而不是调整持久化机制本身。
Redis 6.2 的 RDB 仍依赖 bgsa ve 和配置项 sa ve
Redis 6.2 中,RDB 快照的自动触发机制与旧版本没有区别:什么时候执行快照落盘,仍由 redis.conf 中的 sa ve 指令决定,例如常见的 sa ve 60 10000。底层实现同样未发生变化,依然采用 fork() + 写时复制(COW)机制。到了 6.2,rdbSa ve 函数在序列化方式、压缩策略以及 RDB 文件格式上也没有改动,生成的仍是经过 LZF 压缩的二进制 dump.rdb 文件。
sa ve命令依然是阻塞式操作,生产环境通常不建议直接使用bgsa ve仍然是唯一推荐的手动 RDB 触发方式,只有子进程完成后才会替换dump.rdbCONFIG GET dir和CONFIG GET dbfilename返回的路径与文件名含义保持不变- 若启用了
replica-serve-stale-data no,主从切换期间的 RDB 加载行为同样没有变化
AOF 在 6.2 中仍由 appendonly yes 控制,重写逻辑未重构
在 Redis 6.2 中,AOF 的核心参数——appendfsync、auto-aof-rewrite-percentage、auto-aof-rewrite-min-size——依旧沿用旧版本配置;AOF 重写仍通过 bgrewriteaof 命令触发。从原理上看也没有改变:主进程 fork 出子进程,由子进程基于当前内存状态生成新的 AOF 文件,因此整体持久化逻辑与 6.0 一致。
appendfsync always仍然是每条命令都执行 fsync,性能开销最大,但数据安全性最高appendfsync everysec依旧是默认配置,在异常情况下理论上最多可能丢失 1 秒数据- 6.2 修复了部分极端场景下 AOF rewrite 引发的
Assertion failed: aeCreateFileEvent错误,但这属于稳定性修复,不是持久化机制变化 - 混合持久化(
aof-use-rdb-preamble yes)在 Redis 6.2 中继续可用,并且启动恢复时仍然优先加载 AOF
容易被忽略的 6.2 兼容性细节
如果你准备把 Redis 升级到 6.2,同时又依赖监控脚本、备份程序或运维工具去解析 RDB/AOF 文件,还需要留意以下兼容性细节:
- RDB 文件版本号仍然是
REDIS0010(对应 Redis 6.x),并不兼容 Redis 7.0 使用的REDIS0011 - AOF 文件头部依旧以
*2rn$6rnSELECTrn$1rn0rn开头,没有新增命令格式或文件头变化 redis-check-aof --fix在 6.2 中对损坏 AOF 文件的修复能力没有明显增强,遇到Unexpected EOF依然通常需要人工截断处理- 6.2 默认关闭
protected-mode的行为虽然不会直接影响持久化,但如果你使用redis-cli --rdb导出 RDB,仍需确认目标目录具备写入权限
真正值得关注的重点,并不是“Redis 6.2 是否带来了新的持久化特性”,而是要确认你的 sa ve 规则是否符合业务写入频率、appendfsync 策略是否与磁盘 I/O 能力相匹配——这些评估标准在 6.2 中没有改变,也不应因为版本升级而忽视验证。
