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 = 日志,安全,恢复慢
  • 企业:两个都开
相关推荐
敲个大西瓜4 小时前
Redis一百道核心面试题
数据库·redis·缓存
無a伟7 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水8 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv8 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris8 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils8 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春9 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_10 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
杨云龙UP10 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad
黑桃小柒710 小时前
Django模型关系:从一对多到多对多全解析
数据库·django·sqlite