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

Redis 从入门到精通(十一):持久化配置

系列导读:本篇将深入讲解 Redis 持久化机制,包括 RDB 和 AOF 两种方式。


文章目录

    • 一、持久化概述
      • 1.1 为什么需要持久化?
      • 1.2 持久化方式对比
    • 二、RDB 持久化
      • 2.1 配置方式
      • 2.2 手动触发
      • 2.3 RDB 文件结构
    • 三、AOF 持久化
      • 3.1 配置方式
      • 3.2 AOF 重写
      • 3.3 AOF 文件修复
    • 四、混合持久化
      • 4.1 配置方式
      • 4.2 混合持久化原理
    • 总结

一、持久化概述

1.1 为什么需要持久化?

Redis 数据存储在内存中 ↓ 服务器重启/断电 ↓ 内存数据丢失 ↓ 需要持久化到磁盘恢复数据

1.2 持久化方式对比

方式说明优点缺点
RDB快照文件小、恢复快可能丢失数据
AOF日志追加数据完整文件大、恢复慢
混合RDB+AOF兼具优点配置复杂

二、RDB 持久化

2.1 配置方式

# redis.conf # 快照条件 save 900 1 # 900秒内至少1个key变化 save 300 10 # 300秒内至少10个key变化 save 60 10000 # 60秒内至少10000个key变化 # RDB文件名 dbfilename dump.rdb # 存储目录 dir /var/lib/redis # 压缩 rdbcompression yes # 校验 rdbchecksum yes

2.2 手动触发

# 同步保存(阻塞)SAVE# 异步保存(推荐)BGSAVE# 查看最后保存时间LASTSAVE

2.3 RDB 文件结构

┌─────────────────────────────────────────┐ │ RDB 文件结构 │ ├─────────────────────────────────────────┤ │ REDIS (5字节) - 魔数 │ │ 版本号 (4字节) │ │ 数据库数据 │ │ EOF (1字节) - 结束标志 │ │ 校验和 (8字节) │ └─────────────────────────────────────────┘

三、AOF 持久化

3.1 配置方式

# redis.conf # 启用AOF appendonly yes # AOF文件名 appendfilename "appendonly.aof" # 同步策略 appendfsync always # 每次写入都同步(最安全,最慢) appendfsync everysec # 每秒同步(推荐) appendfsync no # 由操作系统决定(最快,不安全) # 重写配置 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb

3.2 AOF 重写

# 手动触发重写BGREWRITEAOF# 重写原理# 原AOF: SET a 1; SET a 2; SET a 3; INCR a; INCR a# 重写后: SET a 5

3.3 AOF 文件修复

# 检查AOF文件redis-check-aof appendonly.aof# 修复AOF文件redis-check-aof--fixappendonly.aof

四、混合持久化

4.1 配置方式

# redis.conf (Redis 4.0+) # 启用AOF appendonly yes # 启用混合持久化 aof-use-rdb-preamble yes

4.2 混合持久化原理

┌─────────────────────────────────────────┐ │ 混合AOF文件结构 │ ├─────────────────────────────────────────┤ │ RDB格式数据(基础数据) │ │ AOF格式数据(增量数据) │ └─────────────────────────────────────────┘ 优点:RDB恢复快 + AOF数据完整

总结

本文我们学习了:

RDB持久化:快照方式,文件小,恢复快
AOF持久化:日志追加,数据完整
混合持久化:结合两者优点
配置选择:根据业务需求选择

下篇预告:Redis 从入门到精通(十二):主从复制


作者:刘~浪地球
系列:Redis 从入门到精通(十一)
**>更新时间:2026-04-07

http://www.jsqmd.com/news/602986/

相关文章:

  • 电力巡检数据分析选型避坑:实测实在Agent,如何终结变电站“人肉搬砖”时代?
  • 白盒测试实战指南:从策略选择到静态分析的完整流程
  • 从67到89:我是如何用YOLO-MASK清洗COCO羊数据集提升模型精度的
  • 3大突破性技术打造高识别率艺术二维码:从问题诊断到商业落地的完整指南
  • 别再用通用 AI 写博客!SEONIB 与传统 AI 写作工具的 5 大不同
  • 计算机应届生:简历好看≠能过面试
  • AI深度学习总结核心机制
  • 深入Tessent ATPG:Test Procedure与Dofile配置详解,告别DRC报错
  • 4.5【A】
  • 依赖倒置原则是否是解耦调用方与被调用方的必要条件?
  • 2026论文双重围剿下,百考通AI如何成为你的“毕业护航仪”?
  • 汉码未来 老师提醒大家:数据分析学习的“三个坑”
  • 开发一套小程序要多少钱
  • 如何在SQL视图中实现条件逻辑_巧用CASE WHEN语句封装
  • 实战指南:基于快马平台开发77成色s35与s35l材料项目管理系统
  • 高效挖掘论文开源项目的五大实战平台
  • 终极Win11Debloat教程:如何快速清理Windows 11预装应用与优化系统性能
  • 解锁开源音乐工具:洛雪音乐音源无损音质全攻略
  • BilibiliDown音频下载解决方案:重新定义B站音频提取体验
  • IDEA Terminal无法启动?可能是PowerShell路径问题(完整排查指南)
  • 8. 机器人正运动学---DH坐标系原点定位实战解析
  • 鸿蒙 HarmonyOS 6 | TextPickerDialog 迁移实战
  • 强制脑机接口:某公司用神经监测防员工摸鱼
  • 4个智能步骤,普通用户如何通过OpCore Simplify实现黑苹果系统一键部署
  • 用Python复现AWGN信道下的隐蔽通信仿真:从KL散度到能量检测的完整流程
  • PMC720数据数字热板
  • G-Helper终极指南:5分钟掌握华硕笔记本性能控制
  • 3步解锁AI超分辨率魔法:让老旧图片和视频焕发新生
  • ReplaceItems.jsx:Adobe Illustrator对象替换引擎的技术架构与实践指南
  • 烟草行业数字化实测:实在Agent如何破解专卖管理与数据统计的“孤岛困局”?