Redis的持久化有哪些方式

Redis 持久化:两种核心方式(面试必背,超清晰)

Redis 是内存数据库 ,断电数据会丢,所以必须用持久化把数据存到磁盘。

一、Redis 有两种持久化方式

  1. RDB(快照)
  2. AOF(日志)

二、RDB 持久化(快照)

是什么

定时把内存里的所有数据 ,生成一个二进制快照文件(dump.rdb)保存到磁盘。

原理

  • 满足配置条件(如 1分钟改了1万次),自动触发
  • fork 子进程 异步写磁盘,不阻塞主进程
  • 恢复时:直接加载整个快照

优点

  • 文件小,恢复速度极快
  • 对性能影响小
  • 适合冷备、灾难恢复

缺点

  • 会丢数据(最后一次快照到宕机之间的数据全丢)
  • 数据量大时,fork 子进程会卡顿

三、AOF 持久化(日志)

是什么

把每一条写命令(set、del等),追加写入日志文件(appendonly.aof)。

原理

  • 记录操作日志,不是记录数据
  • 恢复时:重新执行一遍所有命令
  • 会定期重写日志,避免文件太大

优点

  • 数据安全性高,最多丢1秒数据
  • 日志可读,可修复
  • 适合实时数据不丢的场景

缺点

  • 文件比 RDB 大很多
  • 恢复速度比 RDB 慢
  • 对性能有一点点影响

四、对比表(面试直接背)

特性 RDB AOF
实现方式 定时全量快照 记录写命令
恢复速度 极快 慢
数据安全性 可能丢数据 极高(最多丢1s)
文件大小 小 大
性能影响 小 稍大
适合场景 备份、容灾 实时数据安全

五、企业最佳实践

RDB + AOF 同时开启

  • 用 AOF 保证数据不丢
  • 用 RDB 做冷备份、快速恢复

六、面试标准答案(30秒)

Redis 持久化有两种:

  1. RDB:定时生成内存快照,恢复快,但可能丢数据;
  2. AOF :记录每条写命令,数据安全,恢复慢。
    生产环境一般同时开启,用 AOF 保证数据安全,RDB 用于备份。

总结

  • RDB = 快照,快,可能丢数据
  • AOF = 日志,安全,恢复慢
  • 企业:两个都开
相关推荐
写后端的胖头鱼2 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
路远的数据库笔记3 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰3 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
kaiyou20263 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
mjhcsp3 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库
ShineWinsu3 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
lie..4 小时前
30天从零开始学AI应用开发(Day 17):ChromaDB 上手:给本地文档建一个“外挂大脑”
数据库·人工智能·oracle
code_whiter4 小时前
01-MySQL数据库基础
数据库·mysql
weixin_382395234 小时前
本地部署 ERP 选型记录:从 Excel 到轻量系统的这几年
数据库·人工智能·数据挖掘
2401_891409265 小时前
期货量化用得上的几类行情数据:逐笔、Level2、分钟线和五档tick
数据库