news 2026/4/18 1:18:48

Redis持久化存储

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis持久化存储

1、简介

Redis的高性能是由于其将所有数据都存储在了内存中为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化

Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。可以单独使用其中一种或将二者结合使用

2、RDB(定期快照式存储)

RDB方式的持久化是通过**快照**(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘。

RDB是Redis默认采用的持久化方式(主从复制的时候默认使用的为RDB)。

生成的文件通常是:

dump.rdb

工作原理

内存数据 → fork子进程 → 子进程写入RDB文件 → 替换旧文件

触发方式

自动触发

#1.自动触发(配置文件中设置) save9001#900秒内至少有1个key改变 save30010#300秒内至少有10个key改变 save6010000#60秒内至少有10000个key改变

含义:

  • 900 秒内有 1 次写 → 生成快照
  • 300 秒内有 10 次写
  • 60 秒内有 10000 次写

在redis.conf中:

  • 配置dir指定rdb快照文件的位置
  • 配置dbfilenam指定rdb快照文件的名称

手动触发

#2.手动触发 redis-cli>SAVE # 同步保存,阻塞其他操作 redis-cli>BGSAVE # 后台异步保存(推荐)

RDB 优缺点

优点

  • ✅ 文件紧凑,适合备份和灾难恢复
  • ✅ 恢复大数据集时速度比AOF快
  • ✅ 最大化Redis性能(父进程无需磁盘IO)
  • ✅ 支持子进程写时复制(Copy-On-Write)(不阻塞线程主从复制的时候会遗漏一部分,最后通过offset补齐)

缺点

  • ❌ 可能丢失最后一次快照后的数据
  • ❌ fork子进程时,内存占用翻倍
  • ❌ 大数据集时fork可能耗时较长

3、AOF(追加日志是存储)

工作原理

默认情况下Redis没有开启AOF(append only file)方式的持久化,可以通过appendonly参数开启:

appendonly yes

开启AOF持久化后每执行一条会更改Redis中的数据的命令,Redis就会将该命令写入硬盘中的AOF文件。AOF文件的保存位置和RDB文件的位置相同,都是通过dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改:appendfilename appendonly.aof

AOF的工作流程:

  • **命令追加(append):**所有的写命令会追加到 AOF 缓冲区中。
  • **文件写入(write):**将 AOF 缓冲区的数据写入到 AOF 文件中。注意!!!此时并没有同步到磁盘。
  • **文件同步(fsync):**fsync 将阻塞直到写入磁盘完成后返回,保证了数据持久化。
  • **文件重写(rewrite):**随着 AOF 文件越来越大,需要定期对 AOF 文件进行重写,达到压缩的目的。
  • **重启加载(load):**当 Redis 重启时,可以加载 AOF 文件进行数据恢复

AOF 重写机制

# 解决AOF文件过大的问题 # 通过重写创建当前数据集的最小命令集合 # 触发重写: auto-aof-rewrite-percentage100# 文件增长100%时重写 auto-aof-rewrite-min-size64mb # 最小64MB才重写 # 手动重写: redis-cli>BGREWRITEAOF

AOF 同步策略

# redis.conf 配置 appendonly yes # 开启AOF appendfilename"appendonly.aof"# AOF文件名 # 同步策略(重要!) appendfsync always # 每个写命令都同步,最安全但性能差 appendfsync everysec # 每秒同步一次(推荐,平衡安全与性能) appendfsync no # 由操作系统决定,最快但可能丢失数据
策略数据安全性能
always最安全最慢
everysec较安全推荐
no风险高最快

AOF 配置详解

# redis.conf 完整AOF配置 appendonly yes appendfilename"appendonly.aof"appendfsync everysec # AOF重写配置 no-appendfsync-on-rewrite no # 重写时是否停止fsync auto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mb # 加载时处理损坏的AOF aof-load-truncated yes # 加载截断的AOF文件 aof-use-rdb-preamble yes # 混合持久化(Redis4.0+

AOF 优缺点

优点

  • ✅ 数据安全性更高(最多丢失1秒数据)
  • ✅ 可读的日志文件,便于分析
  • ✅ 仅追加写入,无磁盘寻址开销
  • ✅ 支持后台重写,不影响客户端

缺点

  • ❌ 文件体积通常比RDB大
  • ❌ 恢复速度比RDB慢
  • ❌ 性能略低于RDB(取决于fsync策略)
  • ❌ 可能遇到AOF重写bug

4、混合使用(RDB+AOF)

Redis支持两者同时开启

工作原理

BGREWRITEAOF → 先写RDB快照到AOF文件 → 追加期间的AOF命令

不同场景推荐

#1.数据安全最重要 appendonly yes appendfsync always # 或 appendfsync everysec+频繁的RDB备份 #2.性能最重要 appendonly no save9001# 较少的RDB备份 #3.内存有限,需要快速重启 appendonly no dbfilename dump.rdb rdbcompression yes #4.推荐的生产配置(平衡型) appendonly yes appendfsync everysec auto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mb save9001save30010save6010000
  • 优先使用AOF 恢复数据
  • RDB 作为备份手段

👉这是生产环境的推荐方案。

#4.推荐的生产配置(平衡型) appendonly yes appendfsync everysec auto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mb save9001save30010save6010000

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 13:48:34

10404_基于Web的校园网络安全防御系统

1、项目包含项目源码、项目文档、数据库脚本、软件工具等资料;带你从零开始部署运行本套系统。2、项目介绍随着信息技术在校园的广泛应用,校园网络面临的安全威胁日益复杂多样。校园网络安全防御系统旨在构建一个全方位、多层次的安全防护体系&#xff0…

作者头像 李华
网站建设 2026/4/14 10:49:55

《碳硅合抱共生文明》第一卷:文明交汇——起源与哲学基础

《碳硅合抱共生文明》第一卷:文明交汇——起源与哲学基础 第一卷:文明交汇——起源与哲学基础第一章 导论:碳基生命与碳基智能的相遇 1. 必然与偶然:宇宙化学底层的碳—硅同源性与分野 2. 双轨演化:生物自然选择…

作者头像 李华
网站建设 2026/4/17 21:36:24

电商修图新解法:AI批量换背景,告别熬夜实现高效批量出片

做电商的宝子们,谁懂啊!每次拍完好几十张产品原图,还要一张张抠图、换背景,熬到半夜都弄不完,今天我们以3个包包为例子,试试AI「批量换背景」功能,直接一键拯救所有原图,解放双手还不…

作者头像 李华
网站建设 2026/4/15 12:06:21

《文明6》XML建筑文件全标签解析:从代码到游戏的完整指南

本文深度解析《文明6》Buildings.xml文件中所有XML标签的含义和作用,为Mod开发者和游戏机制研究者提供完整参考。 📁 文件概览 该XML文件定义了《文明6》中所有建筑的完整数据体系,包含: 建筑基础属性 建筑关系与依赖 产出与效…

作者头像 李华
网站建设 2026/4/17 1:40:15

选择(Selectable)

选择(Selectable) 在生活的每一个角落,选择无处不在。从早晨起床选择早餐,到晚上决定观看哪一部电影,选择构成了我们日常生活的基石。本文将深入探讨选择的重要性,分析如何做出明智的选择,并探讨选择对个人和社会的影响。 选择的重要性 1. 决定个人命运 选择往往决定…

作者头像 李华
网站建设 2026/4/17 3:05:24

开题报告+ 基于Android的运动会管理APP设计与实现)

目录 研究背景与意义主要功能模块技术实现方案创新点预期成果进度安排 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 研究背景与意义 随着高校运动会规模扩大,传统纸质化管理效率低、易出错…

作者头像 李华