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 = 日志,安全,恢复慢
  • 企业:两个都开
相关推荐
AI-好学者3 小时前
阶段二-Cypher查询语言详解
数据库·rag·graphrag
龙仔7253 小时前
SQL Server 批量多库只读账号一键脚本(带逐行注释完整脚本 + 分段逐句详细解释)
服务器·数据库·sql·sqlserver·dba
咏方舟【长江支流】4 小时前
【开源】跨语言·跨平台·跨数据库(2) —— 用宝轻量框架设计必读
数据库·架构·开源·ai编程·咏方舟-长江支流·用宝框架
手握风云-4 小时前
Redis:不只是缓存那么简单(十五)
数据库·redis·缓存
weixin_307779135 小时前
Linux下Docker Compose里运行PostgreSQL数据库故障诊断Shell脚本
linux·运维·数据库·docker·postgresql
名字还没想好☜5 小时前
用 Redis + Redisson 实现分布式锁:从踩坑到生产可用
java·redis·分布式·junit·分布式锁·redisson
醉城夜风~5 小时前
MySQL 常用内置函数全解:字符串、数值、日期、流程控制实战教程
数据库·mysql
谙忆5 小时前
图片CDN与边缘优化实战:缓存策略、图片处理型CDN与动态裁剪
java·spring·缓存
程序猿秃头之路5 小时前
DDD 系列:实体和值对象详解
数据库·oracle·ddd·领域驱动设计