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 = 日志,安全,恢复慢
  • 企业:两个都开
相关推荐
St_rive21 小时前
selenium cookie的处理
数据库·selenium·测试工具
辻弋2011 天前
一键优化电源计划、游戏模式、独显强制、禁用后台录制——DeltaForceBooster专治三角洲行动卡顿掉帧,所有改动可一键还原
服务器·数据库·windows·游戏·电脑·php
Wang's Blog1 天前
PostgreSQL笔记51: 基于 pgvector 构建企业级智能问答系统
数据库·笔记·postgresql
我星期八休息1 天前
Linux—五种IO模型与非阻塞IO
linux·运维·服务器·网络·数据库·网络协议
SQL-First布道者1 天前
全面解构传统持久层框架,拥抱真正的 SQL-First
java·数据库·spring boot·sql·spring·mybatis·spring jdbc
翼龙云_cloud1 天前
阿里云国际版代理商:OSS自定义域名绑定与HTTPS配置排障教程
数据库·阿里云·https·云计算
日常筹谋记1 天前
ATS选不对运维两行泪:数据中心市电与柴发切换场景的双电源自动转换开关选型笔记
运维·数据库·笔记
程序员夏洛1 天前
MySQL 中的 MVCC 是什么?
数据库·mysql
小的~~1 天前
面试被问分布式锁,我差点语塞…直到搞懂了Redis、ZooKeeper和etcd的“三国杀”
redis·分布式·面试
quantdash_cc1 天前
历史数据断层与REST请求慢到崩溃?QuantDash高性能量化数据API终极解决方案
开发语言·python·缓存·php·量化·quantdash