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

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


文章目录

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

一、持久化概述

1.1 为什么需要持久化?

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

1.2 持久化方式对比

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

二、RDB 持久化

2.1 配置方式

conf 复制代码
# 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 手动触发

bash 复制代码
# 同步保存(阻塞)
SAVE

# 异步保存(推荐)
BGSAVE

# 查看最后保存时间
LASTSAVE

2.3 RDB 文件结构

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

三、AOF 持久化

3.1 配置方式

conf 复制代码
# 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 重写

bash 复制代码
# 手动触发重写
BGREWRITEAOF

# 重写原理
# 原AOF: SET a 1; SET a 2; SET a 3; INCR a; INCR a
# 重写后: SET a 5

3.3 AOF 文件修复

bash 复制代码
# 检查AOF文件
redis-check-aof appendonly.aof

# 修复AOF文件
redis-check-aof --fix appendonly.aof

四、混合持久化

4.1 配置方式

conf 复制代码
# 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

相关推荐
bmxy小明同学11 分钟前
2026-10-09-token与成本
java·前端·数据库
路远的数据库笔记12 分钟前
Oracle报ORA-00020连接打满?从专用进程模型到静态参数,一次生产排查全记录
数据库·oracle·国产数据库·ora-00020·dba实战·sharedserver
瀚高PG实验室27 分钟前
瀚高数据库序列介绍、使用及值不连续、重复写入等现象处理
数据库·postgresql·瀚高数据库
这个DBA有点耶38 分钟前
PostgreSQL HOT更新:频繁更新表的索引膨胀根因与fillfactor调优
数据库·sql·postgresql
野生数据人40 分钟前
日志平台运维速查表:巡检命令、阈值、参数,一张贴墙
大数据·数据库
数据库小学妹43 分钟前
向量检索最小可运行实现:HNSW索引参数与召回率/延迟权衡
数据库·后端
发量惊人的中年网工1 小时前
SD-WAN 组网方案怎么选?跨地域与多分支企业的选型指南(含成本对比)
服务器·网络·数据库
xiaogai_gai1 小时前
物料主数据从ERP同步到电商中台:基于轻易云的编码映射与增量全量双轨实践
大数据·数据库
SelectDB1 小时前
信创适配速查手册:国产 CPU / OS 对照表、认证许可速查与部署检查项清单
大数据·数据库·数据分析
亚川楼宇自控系统数据中心厂家1 小时前
机房 3D 可视化技术:从平面监控到立体化管理的升级
大数据·数据库·人工智能