【Redis】持久化策略

【Redis】Redis 的持久化策略 Linux中主进程实现对数据的读写操作都是操作物理内存,但是所有的主进程都无法直接操作物理内存,而是由操作系统给每个主进程分配一个虚拟内存,操作系统会维护一个虚拟内存与物理内存之间的映射关系表,这个表叫做页表(映射到物理内存的数据地址)。Redis 生成的 rdb 文件是存放在 Redis 的工作目录中的,也是在Redis配置文件中,进行设置的。当这个快照生成完毕之后,再删除之前的RDB文件,把新的生成的RBD文件名字改成刚才的dump.rdb,从而保证rdb文件的唯一性。 阅读详情

Redis 持久化

Redis 的持久化有两个策略

  • RDB -> Redis DataBase
  • AOF -> Append Only File

RDB

RDB 的触发时机有两种,一种是手动存储,一种是定时存储。将数据备份到数据库中,通常存在一个后缀名为 .rdb的文件

定时存储通过配置文件修改

主要讲手动存储,它有两个命令,save 和 bgsave

  1. save:执行save操作,Redis 会全力以赴的进行((20260421182031-owe9evp “快照”))生成的工作,此时就会阻塞 Redis 客户端的其他命令,达到类似 keys * 的效果

  2. bgsave:bgsave 就是background save,在后台生成一个**新的进程**,来进行并发的编程。新的进程会 fork 一份父进程的完整数据(包括 pcb,内存中的虚拟地址,文件描述符表等…),将完整数据存入到 .rdb 文件中,当bgsave执行过程中,若有其他的数据插入,则可能会有迟滞性,因为新的数据不同步到子进程。

    注意:由于子进程有着跟父类一样的文件描述符表,故子进程也可以对文件进行读写操作。

    执行逻辑为:判定是否存在其他的子进程,若存在则将当前的bgsave返回,否则新建一个子进程。

    此处的 fork 拷贝操作是“写时拷贝”的机制实现的——即如果父进程与子进程里的数据是一模一样的,父进程与子进程会共用同一份内存空间,当对内存数据做出修改后,才会触发真正的物理内存的拷贝。新的数据会插入到父进程中,子进程数据保持原有的数据不更新。

    在这里插入图片描述

    RDB 这个二进制文件默认通过二进制的方式将内存中的数据以压缩的形式保存

    后续 Redis 重启,会重新加载这个 RDB 文件,若 RDB 损坏则可能启动失败。针对 RDB 损坏的问题,自带了一个 RDB 的检查工具redis-check-rdb*

    RDB 的持久化操作是可以重复执行的,此时会生成一个 RDB 镜像文件,将快照数据先保存至一个临时的文件中,当快照生成完毕后,将旧的 RDB 文件删除,将临时的文件夹改名为dump.rdb(默认文件名)

RDB 的优缺点:

  • RDB 是紧凑压缩过的二进制文件,代表了 Redis 中某个时间点上的数据快照,非常适用于备份
  • Redis 加载 RDB 恢复数据远远快于 AOP
  • RDB 的这种方式存储就决定了它的数据备份无法达到数据的实时持久化,因为每次的 bgsave 操作都要 fork 一个子进程出来,这是一个重量级的操作
  • RDB 使用的是特定的二进制格式保存,且随着时间迁移,Redis 会有多个 RDB 版本,可能会有兼容性问题

AOF

AOF 以日志形式记录 Redis 的写操作命令,重启时重新执行这些命令恢复数据,默认是后缀为 .aof的文件。

写入策略通过配置文件设置,有三种模式:

  1. always:每次写命令都立即刷盘,数据最安全,但性能开销最大
  2. everysec:每秒刷盘一次(默认),最多丢失 1 秒数据,兼顾性能与安全
  3. no:由操作系统决定刷盘时机,性能最高,但数据安全性最低

AOF 重写

随着写操作增多,AOF 文件会持续膨胀。Redis 提供重写机制压缩文件体积,命令为 bgrewriteaof

在这里插入图片描述

  • 类似 bgsave,fork 出一个子进程,基于当前内存数据生成最新且最精简的命令集
  • 重写期间的新写入命令会同时写入旧的 AOF 文件和 AOF 重写缓冲区
  • 子进程完成重写后,将缓冲区的增量命令追加到新文件,最后用新文件替换旧文件
  • 同样利用"写时拷贝"机制,避免全量内存复制

AOF 文件以文本协议存储,具备可读性,但体积通常比 RDB 大。若文件损坏,可使用自带的 redis-check-aof 工具修复。

Redis 重启时若同时存在 AOF 和 RDB,默认优先加载 AOF。

AOF 的优缺点:

  • 数据安全性更高,通过合理的 appendfsync 策略可实现近实时持久化
  • 文件为文本格式,易读且兼容性好,没有 RDB 的版本兼容问题
  • 文件体积通常大于 RDB,恢复速度比 RDB 慢(需逐条重放命令)
  • 在高并发写入场景下,always 策略会显著影响性能;everysec 模式下若发生故障仍可能丢失 1 秒数据
Redis 数据淘汰与持久化策略详解 Redis 提供两种持久化机制:RDB(快照)和 AOF(日志追加),也可同时使用。理解这些策略对优化 Redis 性能和保障数据安全至关重要。Redis 作为内存数据库,提供了多种数据管理策略,主要分为。限制时,会根据配置的策略淘汰数据。当 Redis 内存使用达到。Redis 处理过期键的策略是。 阅读详情

相关推荐

Redis的几种部署方式及持久化策略

Redis部署 1.单机模式 优点: 架构简单,部署方便; 高性价比:缓存使用时无需备用节点(单实例可用性可以用supervisor或crontab保证),当然为了满足业务的高可用性,也可以牺牲一个备用节点,但同时刻只有一个实例对外提供服务; 高性能。 缺点: 不保证数据的可靠性; 在缓存使用,进程重启后,数据丢失,即使有备用的节点解决高可用性,但是仍然不能解决缓存预热问题,因此不适...

vincentzwd的博客 1万+

Redis淘汰策略与持久化

这个时间长度是通过。

oxygen3000的博客 1314

cellchat安装

cellchat

m0_65188455的博客 5442

Redis 的持久化策略原来是这样

**Redis** 作为 **内存** 级别的数据库,如果遭遇各种预想不到的突发情况导致自己的数据丢失了,这是灾难性的!所以这时,持久化策略就显得尤为关键了。能保障即使遭遇了突发情况,也可以将数据库恢复到某个时刻的状态。

BUG制造机的博客 776

锂电池主动均衡理解

锂电池主动均衡方案总结: 来自:http://wenku.baidu.com/link?url=EWiyACZ3aLPhcOjI4FZL3uQ9d0FD6dBhADQSVQiaSmRHHATTdSig1Wy39JY7-ijCzbAEYG1ymz6Lv5zhGdZaStQSHzFt6v3h3_tMrJudz9O 目前车厂采用被动均衡方案的公司:(来自网页) 目前采用主动均衡的...

weixin_34365417的博客 2909

西门子PLC1200与CB1241模块的Modbus RTU从站配置全流程(附串口调试技巧)

本文详细介绍了西门子S7-1200 PLC与CB1241通信模块实现Modbus RTU从站配置的全流程,包括硬件接线规范、TIA Portal工程组态、通信指令编程及串口调试技巧。通过实战案例和常见错误处理方案,帮助工程师快速搭建稳定的工业通信系统,提升自动化设备的互联互通能力。

weixin_29165725的博客 324

Redis持久化策略

Redis持久化策略RDBAOF注意优缺点 RDB RDB(Redis Database Backup file) 持久化策略采用的是快照模式,备份的是数据本身,redis默认的持久化策略。原理如图所示: 何时出发RDB文件的写入勒?有如下5中情形: 在redis.conf配置文件中,设置了SAVE选项,如:save 900 1,表示每900s至少有一个key被修改时,redis客户端会自动发送BGSAVE命令。 客户端发送BGSAVE指令,父进程fork出子进程,子进程完成RDB文件的生成。 内存不足

legendaryhaha的博客 2596

学Simulink--基础微电网场景实例:基于Simulink的微电网黑启动过程建模与仿真

黑启动(Black Start)是指在全系统停电(无电压、无频率)状态下,微电网依靠内部电源自主恢复供电的能力。🌩️典型场景主网长时间故障自然灾害导致区域停电计划检修后重启❗挑战无参考电压/频率 → 逆变器无法锁相负荷逐级投入 → 需避免过流/过压多电源协调 → 防止环流或失步✅黑启动成功标准在30 秒内恢复关键负荷供电电压/频率稳定在范围内无设备损坏或保护跳闸🎯本文目标:手把手教你使用 Simulink + Simscape + Stateflow 搭建。

amy_mhd的博客 200

《Redis持久化策略》

Redis持久化是数据安全的重要保障。RDB适合需要定期备份、能容忍数据丢失的场景AOF适合对数据安全性要求高的场景混合模式是Redis 4.0+的推荐方案,兼顾性能与安全无论选择哪种策略,都应定期备份数据,并测试恢复流程,确保在故障时能快速恢复服务。

2301_81117855的博客 928

CAPL控制程控电源

汽车电子测试过程中,除了实车测试,还有台架测试,在进行台架测试时,都需要通过电源来模拟汽车电瓶给ECU供电,如果要进一步进行比较高效的压力测试或自动化测试,就需要用到程控电源,所以本章主要介绍CAPL是如何来控制程控电源的。

测试领域技术分享 4387

LoveSQL

LoveSQL(SQL注入详解) 1、根据题目,显然想到的是sql注入漏洞,直接尝试万能密码 2、此时url构造,查看字段数 /check.php?username=admin' order by 3%23&password=1 # 存在 /check.php?username=admin' order by 4%23&password=1 # 报错 因此,得到总共有三个字段数 注意:url中不能用#,应该用url编码%23 3、用union来查询测试注入点,查看回显点

lunan的博客 1561

Redis持久化及过期删除策略

一、Redis 持久化之RDB和AOF 1.1 RDB 详解 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。 从配置文件了解RDB 打开 redis.conf 文件,找到 SNAPSHOTTING 对应内容 RDB核心规则配置(...

一只没有脚的鸟 2509

用「OpenClaw」打造新媒体运营神器:小红书/公众号全自动选题→创作→排版→发布全流程

对于新媒体运营的从业者来说,AI不是要取代运营人员,而是把他们从繁琐的重复劳动中解放出来,专注于更核心的内容策略、用户运营、品牌建设,这才是AI在传统行业落地的真正价值。这是最终输出可发布内容的核心智能体,我们通过「OpenClaw」的Prompt工程,结合不同平台的排版规范,实现了一键生成符合要求的排版,完全替代人工重复劳动。这套系统的落地,不是技术的炫技,而是真正用AI解决了新媒体运营的核心痛点:用自动化替代重复的人工劳动,用数据决策替代经验主义,用全闭环执行替代纸上谈兵的建议。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 198

redis两种持久化策略

reids是一个key-value存储系统,为了保证效率,缓存在内存中,但是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化。 所以:redis是一个支持持久化的内存数据库,可以将内存中的数据同步到磁盘保证持久化。 Redis的持久化策略:2种 ---------rdb:快照形式是直接把内存中的数据保存到...

bamboo_cqh的博客 4954

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

redis数据持久化策略

Redis的持久化机制是确保数据安全性的重要功能,它可以在系统故障时保护数据不丢失。

WuqianZhi_123的博客 544

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Redis】Redis持久化策略

RDB和AOF各有自己的优缺点,如果对数据安全性要求较高,在实际开发中往往会结合两者来使用。RDBAOF持久化方式定时对整个内存做快照记录每一次执行的命令数据完整性不完整,两次备份之间会丢失相对完整,取决于刷盘策略文件大小会有压缩,文件体积小记录命令,文件体积很大宕机恢复速度很快慢数据恢复优先级低,因为数据完整性不如AOF高,因为数据完整性更高系统资源占用高,大量CPU和内存消耗低,主要是磁盘IO资源 但AOF重写时会占用大量CPU和内存资源使用场景。

Decade_Faiz的博客 370

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

redis持久化策略

详细解释了Redis中RDB和AOF两种数据备份持久化机制

a512512a的博客 1105

Redis持久化策略以及三大缓存问题

在我的Redis的必备知识(一)-优快云博客这篇文章当中的话其实我主要就是说了Redis的优点以及其中的五种数据类型以及进行相关操作的常用的命令,那么这个时候我就会和你们说一下Redis怎么进行持久化的以及其作为缓存进行使用的话是怎么解决的包括怎么保证数据库和缓存的数据库的一致性。

2201_75397629的博客 1644

Redis的持久化方式和缓存淘汰策略

redis的持久化方式和缓存淘汰策略 每天多学一点点~ 写博客的目的不仅在于分享,也是为了方便日后复习巩固 话不多说,这就开始吧… 文章目录redis的持久化方式和缓存淘汰策略1.序2.RDB快照(snapshot)2.AOF(append-only file)3.选择哪一个4.Redis4.0混合持久化及AOF重写5.缓存淘汰策略6.结语 1.序 昨天一个同事问了我一个问题,他在windows下...

爆裂无球的程序空间 3865

redis 多进程_Redis持久化策略

01Redis持久化概述Redis是内存数据库,数据存储在内存中,为了避免进程退出而导致数据永久丢失,需要定期将Redis中的数据以某种形式保存到磁盘上,以便在redis重启时,利用持久化文件实现数据恢复,同时也可以利用持久化来实现数据的备份。Redis持久化分为RDB持久化和AOF持久化,两者的区别在于RDB将当前内存数据快照数据保存到磁盘上,而AOF则是将每次执行的写操作命令追加到日...

weixin_39831239的博客 738
上一篇: 【Redis】Zset类型、命令及应用场景
下一篇: Claude 迁移 Codex 工作流迁移与更新
Jul1en_
博客等级 码龄2年 275粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值