7.redis持久化

Redis 持久化(Redis 7.x 最新版)RDB、AOF、混合持久化彻底讲透,火爆了 ! 回到文章开头,我们现在可以给出一个更成熟的结论。saveappendonly你的 Redis 存的到底是什么数据这些数据允许丢多少实例重启必须多快恢复你的机器是否扛得住forkfsync和rewrite你的业务是否准备好了幂等、补偿、监控和演练纯缓存优先考虑RDB关键状态优先考虑大多数线上业务优先考虑AOF + RDB 前导,也就是混合持久化Redis 持久化解决的是“节点重启后尽量恢复状态”,不是“业务绝对不会出错”。 阅读详情

由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时 dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。


一.RDB持久化

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
在这里插入图片描述

优势:

1). 只包含一个文件。比如,你可能打算每个小时归档一次最近24小时的数 据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。

2). 灾难恢复时方便。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。

3). 性能高。对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了。

4). 启动快相比于AOF机制,如果数据集很大,RDB的启动效率会更高。

劣势:

1). 容易丢失数据.如果你想保证数据的高可用性,即最大限度的避免数据丢失,那么RDB将不是一个很好的选择。因为系统一旦在定时持久化之前出现宕机现象(例如5分钟才保存一次),此前没有来得及写入磁盘的数据都将丢失。

2). 由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是1秒钟。


二.AOF持久化

AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
在这里插入图片描述

AOF优势:

1). 该机制可以带来更高的数据安全性,即数据持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其 效率也是非常高的,所差的是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发生的数据变 化都会被立即记录到磁盘中。可以预见,这种方式在效率上是最低的。

2). 由于该机制对日志文件的写入操作采用的是append模式,因此在写入过程中即使出现宕机现象,也不会破坏日志文件中已经存在的内容。然而如果我们本次操 作只是写入了一半数据就出现了系统崩溃问题,不用担心,在Redis下一次启动之前,我们可以通过redis-check-aof工具来帮助我们解决数据 一致性的问题。

3). 如果日志过大,Redis可以自动启用rewrite机制。即Redis以append模式不断的将修改数据写入到老的磁盘文件中,同时Redis还会创 建一个新的文件用于记录此期间有哪些修改命令被执行。因此在进行rewrite切换时可以更好的保证数据安全性。

4). AOF包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。事实上,我们也可以通过该文件完成数据的重建。

劣势:

1). 对于相同数量的数据集而言,AOF文件通常要大于RDB文件。RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。

2). 根据同步策略的不同,AOF在运行效率上往往会慢于RDB。总之,每秒同步策略的效率是比较高的,同步禁用策略的效率和RDB一样高效。


二者选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(AOF),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(RDB)。

WordPress搭建“外贸独立站”完整操作教程   以往的文章,我们介绍了很多种搭建独立站的方式,有最省事的Shopify 、最专业的Magento以及最省钱的Wordpress Woocommerce。其中,通过主机托管的方式又分了免费的谷歌云vps主机、1美元Godaddy主机以及SiteGround共享主机三种。建站方法方式实在太多了,有免费的,有廉价的,有商业版的,有共享主机、有云主机主机以及各种各样的vps服务器,选择哪种方式,哪款主机,也只有真正试了才直到。   没错,上述的这些方法方式,无一例外,我都亲身折腾过。从个人实际需求和建站方式来 阅读详情

相关推荐

西门子PLC与汇川SV660P伺服速度模式配置实战指南

本文详细介绍了西门子S7-1200 PLC与汇川SV660P伺服驱动器在速度模式下的配置实战指南。从硬件接线、伺服参数配置到TIA Portal软件组态和PLC程序编写,提供了全面的操作步骤和实用技巧,帮助工程师快速解决伺服系统调试中的常见问题,确保系统稳定运行。

weixin_30316097的博客 498

为什么我推荐你使用 Redis 实现用户签到系统

为什么我推荐你使用 Redis 实现用户签到系统 原创 [公众号关注:哈喽沃德先生] 链接:https://pan.baidu.com/s/1oaEIvNbZs1l6bTlNV3y-mQ 提取码:abcd 温馨提示:本案例图文并茂,代码齐全(包括前端)大家只需要跟着文章一步步学习即可实现。想要一步到位直接获取代码的同学,请关注微信公众号「哈喽沃德先生」回复 sign 即可。 如今的很多互联网应用,都会有签到的功能,而一个好的签到功能,可以带来以下好处: 签到是激励用户活跃的一种手段,可以保持产品活跃度

weixin_46237429的博客 1423

Simulink智能驾驶场景探索:自动泊车系统设计与验证

自动泊车系统(APS)传感器模块:用于检测车辆周围的障碍物和其他车辆的位置。路径规划模块:根据传感器数据生成最优的泊车路径。控制器模块:根据路径规划结果生成转向角、速度等控制信号。执行器模块:根据控制器生成的信号调整车辆的方向盘、油门和刹车。在本实例中,我们将使用超声波传感器和摄像头来检测车辆周围的环境,并使用PID控制器实现自动泊车功能。通过本教程,我们介绍了如何使用 Simulink 进行自动泊车系统的仿真。背景介绍:理解自动泊车系统及其在智能驾驶中的应用。所需工具和环境。

MHD0815的博客 505

Redis持久化机制

always:每次写操作后立即刷新到磁盘,数据安全性最高,但性能最差。everysec:每秒刷新一次到磁盘,性能和数据安全性平衡。no:依赖操作系统的刷新机制,性能最好,但数据安全性最低。默认是everysec。AOF的重写机制。

辰多代码的博客 905

从 SAP GUI 走向 SAP Fiori:一套面向 SAP S/4HANA 的用户迁移实战方法论

SAP S/4HANA转型中,用户从SAP GUI迁移到Fiori的难点在于业务价值的重构而非简单的界面替换。Fiori的核心价值在于角色化、实时洞察和智能决策,而非完全替代GUI。成功迁移需分阶段推进:先展示关键角色的价值,建立统一入口,再逐步提高Fiori占比。让用户参与设计比后期培训更重要,需通过具体场景(如采购优先级管理)展示效率提升。迁移策略应平衡新旧界面优势,让Fiori成为业务价值触达的主要方式,而非强制替换。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 235

Nacos 从困惑到蒙圈(9)Nacos 适配 达梦数据库【最新版】

介绍Nacos适配达梦数据库的详细步骤,包括对最新版本的支持改造。

甘蓝的专栏 1376

Redis持久化

题记: 文章内容输出来源:拉勾教育Java高薪训练营。 本篇文章是 Redis 学习课程中的一部分笔记。 Redis持久化 为什么要持久化? Redis是内存数据库,宕机后数据会消失。 Redis重启后快速恢复数据,要提供持久化机制 Redis有两种持久化方式:RDB和AOF 注意:Redis持久化不保证数据的完整性。 当Redis用作DB时,DB数据要完整,所以一定要有一个完整的数据源(文件、mysql) 在系统启动时,从这个完整的数据源中将数据load到Redis中 数据量较小,不易改变,比如:字典库

weixin_41018580的博客 1612

LVS 负载均衡面试题及参考答案

什么是 LVS 负载均衡?它的主要作用是什么? LVS(Linux Virtual Server)是一个基于 Linux 内核的开源负载均衡项目。它通过将请求流量按照一定的算法分发到后端的多个真实服务器(Real Server)上,从而实现负载均衡的功能。 从原理上来说,LVS 工作在网络层和传输层之间。当客户端发起请求时,请求首先到达 LVS 服务器,LVS 会根据预先设定的规则和算法,比如轮询(Round - Robin)、加权轮询(Weighted Round - Robin)、最少连

大模型大数据攻城狮的专栏 1468

Redis的持久化方案

Redis支持RDB与AOF两种持久化机制,持久化可以避免因进程异常退出或down机导致的数据丢失问题,在下次重启时能利用之前的持久化文件实现数据恢复。 RDB持久化 RDB持久化即通过创建快照(压缩的二进制文件)的方式进行持久化,保存某个时间点的全量数据。RDB持久化是Redis默认的持久化方式。RDB持久化的触发包括手动触发与自动触发两种方式。 手动触发 save, 在命令行执行save命令...

半路雨歌 1267

第四部分:VTK常用类详解(第96章 vtkCaptionActor2D标题演员类)

VTK标题演员实现3D场景标注功能 摘要:vtkCaptionActor2D是VTK可视化工具包中的标题标注组件,提供混合2D/3D的文本标注功能。该组件通过连接线将文本标注与场景中的3D点关联,支持多行文本显示、自定义文本样式和动态定位。文章详细介绍了标题演员的设计原理、坐标系统控制方法、文本内容管理和大小自适应机制,并展示了在3D模型标注、数据可视化和交互场景中的典型应用。标题演员通过组合文本、边框和连接线组件,实现了灵活多样的场景标注方案,是科学计算可视化中重要的标注工具。

仰望星空的博客 255

SAP-ABAP: BP主数据完全指南:从基础到高阶应用

SAP-ABAP: BP主数据完全指南:从基础到高阶应用

baidu_35680696的博客 1647

Redis7持久化机制深度解析

Redis 7的持久化机制为Java高性能开发提供了灵活的数据保障。RDB适合快速备份和恢复,AOF确保数据完整性。在Java应用中,通过合理配置和客户端优化,可以显著提升系统可靠性。在redis.conf中设置RDB和AOF结合。监控持久化日志和性能指标。使用连接池和异步操作来减少Java端的延迟。如果您有特定场景的问题(如高并发处理),欢迎进一步讨论!

2502_93949526的博客 1574

Python 爬虫实战:抓取应届生求职网校招岗位信息,助力学子就业

应届生求职网作为国内知名的招聘平台,汇聚了大量企业的校招岗位信息。了解这些岗位信息,对于应届毕业生制定求职策略、企业制定招聘计划以及相关就业市场分析等都具有重要意义。因此,本文将深入探讨如何运用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息,为应届毕业生提供有益的就业信息支持。本文深入探究了利用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息的全流程。从前期的环境搭建、模拟登录,到核心的数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。

u014481728的博客 1300

Redis7 持久化

save:优先级高,执行该命令时其他进程都会停下来等这个命令执行完,因此在此期间redis对外缓存功能失效,很少用。RDB持久化是在一定的时间间隔内,将某一时刻的数据和状态以文件的形式写到磁盘上,这个快照文件叫dump.rdb。bgsave:在执行该命令的时候,redis产生一个fork,相当于复制了一个父进程,由此来异步保存RDB。我们先检查一下redis的默认配置策略,可以看到即便不配置,redis默认也是开启的。手动 save/bgsave 命令。配置地方如下:使用默认即可。在客户端使用下面的命令。

GSON的博客 348

假人有限元模型

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Redis7中的RDB和AOF持久化机制详解

在 Redis 7 中,RDB 和 AOF 是互补的持久化机制:RDB 提供高效备份,AOF 确保高持久性。Redis 7 的 AOF 多线程重写显著提升了性能,使混合模式成为生产环境的最佳选择。通过合理配置(如和),您可以平衡数据安全和性能。建议从基础配置开始,逐步根据监控数据调优。如果您有具体场景(如高并发应用),我可以提供更针对性的建议!

oGuiGui12345的博客 953

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

redis7-03持久化

RDB持久化,AOF持久化

bugnotfound的博客 932

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Redis7学习--持久化机制 RDB与AOF

在认识Redis的时候,我们就介绍了Redis的架构如下图所示尽管我们知道Redis是内存数据库,所有数据都默认存储在内存中,但是内存的易失性意味着一旦服务重启或者崩溃,所有的数据都会丢失。Redis是支持数据持久到磁盘的,这是为了保证 Redis 不是“一次性内存玩具”,而是可靠的数据存储。主要是为了平衡高性能和数据的可靠性。通过持久化文件,可以在服务重启后快速恢复数据,减少停机时间。且持久化是Redis主从复制、哨兵和集群等高可用机制的基础,从节点以来持久化文件按同步数据。(后面文章讲到)

学习日记 1437

05-Redis 持久化详解:RDB、AOF、混合持久化与 Redis 7 Multi-Part AOF

本文系统讲解 Redis 持久化机制,从 RDB 快照、AOF 追加日志到混合持久化与 Redis 7 Multi-Part AOF,重点拆解触发流程、恢复机制、刷盘策略、AOF 重写、COW 原理、主从复制关系和生产配置取舍,帮助读者理解 Redis 宕机后数据如何恢复,以及如何在性能与数据安全之间做权衡。

m0_66500660的博客 615

Java高性能开发实战(1)——Redis 7 持久化机制

Redis是一个基于内存的数据库,这意味着其主要数据存储和操作均在内存中进行。这种设计使得Redis能够提供极快的读写速度(通常达到微秒级别),适用于高性能场景,如缓存然而,由于内存的易失性(断电后数据会丢失),Redis提供了持久化机制:将内存中的数据保存到磁盘中,确保数据在Redis服务重启或崩溃后能够恢复。通过持久化,可以避免数据丢失,提高数据的可靠性Redis提供两种持久化方式:生成数据集的快照实现持久化:记录所有写操作命令,以追加方式写入文件。

2401_89167985的博客 9155

【Redis7】Redis7 持久化(重点:RDB与AOF重写机制)

本文重点介绍Redis7 持久化(重点:RDB与AOF重写机制)。后续会继续分享Redis7和其他重要知识点总结

爱干饭的猿的博客 2829

尚硅谷redis7 37-39 redis持久化之AOF简介

以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作 默认情况下,redis是没有开启AOF(append only file)的。开启AOF功能需要设置配置:appendonly yes当appendonly设置为yes,每当 Redis 收到一个修改数据集的命令(比如 ),它就会将该命令追加到 AOF 文件中

feiyinjiu的博客 890

Redis7 据持久化RDB教程

其次,在保存时Redis会fork一个子进程来进行持久化操作,在子进程保存数据集期间主线程不需要进行任何磁盘I/O操作。Redis是一种开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。总结来说,在选择是否使用RDB或者如何配置它时要根据你自己应用程序和业务需求来决定:如果你能接受最近几分钟内数据丢失那么就可以选择只用RDB;然而RDB也有一些缺点需要注意:如果你需要最大限度减少在Redis服务器故障情况下可能丢失的写入操作,则可能要考虑使用AOF持久化方式或者两者结合使用。

高性价比服务器就选:蓝易云 376

redis 7.x 持久化-RDB

一 redix 7.x 持久化-Rdb

健康平安的活着的专栏 210

尚硅谷redis7 28-32 redis持久化之理论介绍

RDB(Redis数据库):RDB持久性以指定的时间间隔执行数据集的时间点快照。实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。这样一来即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。这个快照文件就称为RDB文件(dump.rdb),其中,RDB就是Redis DataBase的缩写。如果服务器挂了,redis缓存数据在重启的时候将会通过硬盘里存储的rgb文件加载回来。

feiyinjiu的博客 872
上一篇: 红黑树
下一篇: 6.Jedis例子
cuichen97
博客等级 码龄7年 34粉丝 209原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值