# 混合持久化

URL: https://caijiao.org/redis/04-persistence/04-mix
Source: docs/redis/04-persistence/04-mix.md
Description: 混合持久化是 Redis 6+ 引入的新特性，将 RDB 快照与 AOF 日志结合，提高数据恢复速度和安全性，兼顾性能与持久化完整性。

混合持久化是 Redis 6 版本及以上支持的一种持久化方式，它结合了 RDB 快照和 AOF 日志的优点，提升数据恢复效率和安全性。

## 原理

混合持久化在 AOF 文件中嵌入 RDB 快照数据，重写生成的 AOF 文件包含：

- RDB 格式的全量数据快照。
- 快照之后的增量命令日志。

这样在重启加载时，Redis 先快速加载快照部分，再执行增量命令，显著加快恢复速度。

## 配置方法

在 `redis.conf` 中启用 AOF 并开启混合持久化：

```txt
appendonly yes
aof-use-rdb-preamble yes
```

`aof-use-rdb-preamble` 设置为 `yes` 时启用混合持久化。

## 优点

- 快速恢复：加载 RDB 部分比纯 AOF 更快。
- 数据安全：保持了 AOF 的命令级持久化，减少数据丢失。
- 文件大小合理：结合 RDB 压缩减少了 AOF 文件膨胀。

## 应用场景

适用于对数据恢复速度和持久化完整性都有较高要求的生产环境，是推荐的持久化策略。

## 注意事项

- 混合持久化仅在 Redis 6 及以上版本支持。
- 启用混合持久化后，AOF 文件仍然是恢复数据的主要来源。
