Redis 的持久化方式有哪些?
发布于
一、RDB(快照)
- 原理:在某个时间点把内存数据序列化写入 dump.rdb。
- 触发:save(阻塞)、bgsave(fork 子进程)、自动配置(save 900 1)。
- 优点:文件紧凑、恢复快。
- 缺点:可能丢失最后一次快照后的数据。
二、AOF(追加日志)
- 原理:把写命令追加到 appendonly.aof。
- 刷盘策略:always(每条)、everysec(每秒,默认)、no(系统决定)。
- 优点:数据更安全。
- 缺点:文件大、恢复慢。
三、混合持久化(Redis 4.0+)
AOF 重写时,先把内存数据以 RDB 格式写入文件开头,再把增量命令以 AOF 格式追加。兼顾恢复速度和数据安全。
四、选择
- 可以容忍丢失分钟级数据 → RDB。
- 数据重要、尽量不丢 → AOF(everysec)。
- 生产常用:混合持久化。