当前位置: 首页 > news >正文

Redis 的持久化机制有哪些?

Redis持久化机制(面试结构化)

Redis持久化就是把内存的数据保存到磁盘,防止宕机数据全部丢失,有两种:RDB、AOF,也可以两者同时开启。

1. RDB(快照)

把某一时刻全量内存数据,生成一个二进制快照文件dump.rdb保存磁盘。

触发方式

  1. 手动触发
    save:主线程同步执行,会阻塞,大数据量不建议用。
    bgsave:fork子进程,子进程做快照,主线程继续处理请求,日常主要用这个。
  2. 自动触发:配置save 秒 改动次数,比如save 900 1,900秒内至少1个key改动,自动执行bgsave。

优点

  • 文件体积小,二进制文件,适合做备份、迁移。
  • 恢复速度快,直接加载rdb文件。

缺点

  • 会丢失最后一次快照之后的数据:两次快照之间宕机,这部分内存数据没落地磁盘,直接丢失。
  • fork子进程时,如果数据量大,会短暂阻塞主线程。

2. AOF(追加日志)

记录每一条写命令,以文本日志形式追加到aof文件;Redis重启时,重新回放日志命令恢复数据。

三种刷盘策略appendfsync

  1. always:每写一条就刷磁盘,几乎不丢数据,性能很差。
  2. everysec:每秒刷一次磁盘,默认配置,最多丢失1秒数据,性能和安全折中。
  3. no:交给操作系统自己刷盘,不可控,丢失数据多。

AOF重写 bgrewriteaof

AOF日志会越写越大。重写会fork子进程,读取当前内存数据,生成一份精简AOF日志,替换旧大文件,不会记录无效的中间命令。

注意:重写不会阻塞主线程。

优点

  • 数据丢失极少,默认everysec最多丢1秒数据,安全性高。

缺点

  • AOF日志文件体积一般比RDB大;恢复数据需要回放命令,速度慢于RDB。

3. RDB + AOF同时开启

Redis4.0以后混合持久化:
bgsave生成RDB快照,同时把快照之后增量写命令追加到AOF,aof文件开头是rdb二进制,后面是aof日志。

  • 恢复的时候:先加载rdb快照,再回放后面增量AOF命令。
    兼顾RDB恢复快、AOF丢失少的优点。

注意:同时开启时,Redis重启优先加载AOF文件。

4. 各自适用场景

  • RDB:适合定时冷备份,可以容忍少量数据丢失。
  • AOF:追求数据安全,不想丢失大量数据,线上一般开启AOF。

总结

  1. RDB:全量快照,bgsave子进程,恢复快,存在数据丢失风险;
  2. AOF:记录写命令日志,三种刷盘策略,靠AOF重写压缩文件;
  3. 4.0+支持混合持久化,线上最推荐;
  4. 两种持久化都会fork子进程,大数据量要注意fork带来的短暂阻塞。
http://www.cnnetsun.cn/news/4315067.html

相关文章:

  • Claude Opus 4.8全输背后:Harness如何改变模型评测
  • AI技能工程师:从提示词到可复用技能的设计与落地
  • VMware Workstation虚拟机从安装到组网:Ubuntu配置、快照克隆与排错全解析
  • 7天搞定计算机基础八股文:高效面试冲刺指南
  • 腾讯2016研发工程师编程题复盘:五道经典算法题详解与避坑指南
  • 无需换浏览器:用OpenAI API把AI能力接入现有工作流
  • 天正CAD免费下载安装教程:正版渠道与AutoCAD版本匹配指南
  • Claude记忆功能升级:跨聊天记忆与Cowork多会话协作实战
  • 从“生成快”到“可维护”:AI Skills如何让辅助编程告别屎山代码
  • 字节跳动前端实习面经:从准备到三面全流程复盘
  • Rust CLI 工具 Presse:本地批量 PDF 压缩与合并实战
  • 构建可审计可验证的智能体电商:Agentic Commerce 实战
  • 如何实现千牛多店防关联管理自动化?isTrusted事件级伪装,平台风控视为真人操作
  • 画一个哆啦A梦
  • 如何实现TikTok Shop自动化上架自动化?综合代码架构自愈,异常自动恢复不中断
  • STM32MP257 SPI3从模式NSS引脚失效:Linux设备树与硬件NSS混用排查
  • 把设计团队装进AI工作台:剪映自动化生产实战指南
  • Delphi 13.1中picshow控件安装、使用与兼容性实战指南
  • 从阿里笔试题看大厂研发工程师怎么考:核心考点与备考策略
  • 用Python验证AI利润轮动:从资本开支到财务数据观察
  • React面试核心知识点全解析:从虚拟DOM到Hooks原理与性能优化
  • 开源高可用IM社交应用全栈架构:从消息可靠投递到跨平台实现
  • Gemini Enterprise for Legal:企业级法律AI合同审查与合规实践指南
  • 上海携程前端社招面经:五轮面试全流程复盘与核心技术考点总结
  • 大厂面试全攻略:从简历优化到系统设计的进阶之路
  • PPG无创血压估算:从信号处理到CatBoost建模全流程
  • UG NX三维电气布线设计:从原理到实战的机电协同指南
  • 2015小米实习笔试回顾:基础题与手写代码的筛选逻辑
  • STM32H573 Secure Manager与TLS 1.3集成:HKDF回退方案实战
  • 程序员高考卷:一份覆盖算法、代码评审与隐写的工程实践自测题