Redis持久化方案之RDB

Redis两种持久化方案RDB和AOF详解 本文主要针对Redis 有两种持久化方案RDB和AOF做了详细的分析,希望我们整理的内容能够帮助大家对这个两种方案有更加深入的理解。 Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。 RDB 详解 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb 立即下载

一 概述

RDB(Redis DataBase),RDB持久化方案保存某个时间点的全量数据快照写入磁盘,也是老版本中的默认持久化方式,它将内存中的数据以快照的方式写入二进制文件(默认文件名为dump.rdb)。

二 Redis中RDB的相关配置

快照保存策略:

  1. save 900 1 //该配置为Redis在900秒内存在如果一次写入操作(set操作)就会保存一次快照
  2. save 300 10 //该配置为Redis在300秒内存在如果写入操作(set操作)达到十次就会保存一次快照,否则执行1
  3. save 60 10000//该配置为Redis在60秒内存在如果一次写入操作(set操作)达到10000次就会保存一次快照,否则执行2或者执行1
  4. save " " //禁止Redis服务器使用RDB持久化方案

RDB文件压缩配置:

rdbcompression yes

该配置为yes的时候是指在备份的时候要先将RDB文件进行压缩,实际情况我们是可以设置为no的,因为Redis本身就是属于CPU密集型服务器,使用压缩功能会比较耗性能。

stop-writes-on-bgsave-error yes

此配置表示当备份进程出错的时候,主进程就会停止接收新的写入操作,从而保证数据持久化的一致性,如果我们的业务拥有完善的检测方案,我们可以将其设置为false,所以这些视情况而定。

dbfilename dump.rdb //保存的文件名

三 RDB持久化方式的实现方方法

一 save方式

save方式是在主线程中保存快照,同时Redis刚好是由一个主线程处理所有的请求,在这种情况下会阻塞所有的client请求,所以一般情况下不会使用save操作。

如图:save命令阻塞一定时间。

二 BGSAVE方式

BGSAVE方式先fork出一个子进程来创建RDB文件,记录并接收当前数据库的状态,且不阻塞服务器的主进程,这样子进程负责完成子进程的创建,父进程继续处理其他接收到的命令,当子进程创建好文件之后会发送消息给父进程,当父进程在处理接收到的其他命令时通过轮询来获取接收子进程发送过来的信号。

如图:BGSAVE命令之后,BGSAVE是通过后台的运行方式保存RDB文件。

使用BGSAVE命令之后会立即返回一个OK的返回码,此时,Redis会产生一个子进程处理,并恢复主进程对客户端的服务。实际应用中,我们可以利用java的定时器来实现定期待用Redis的BGSAVE指令,从而实现实时备份RDB文件。

mv dump.rdb dumpTimeStamp.rdb //按照时间戳保存不同时间的RDB文件,作为Redis某一时间的全量脚本。

BGSAVE的原理:

三 自动化触发RDB持久化方式

根据Redis.conf配置文件中的SAVE m v 定时触发RDB文件的保存(实际上用的是BGSAVE方式),在从节点进行RDB文件全量复制的时候,主节点发送RDB文件给从节点完成RDB全量复制时,主节点会触犯BGSVAE。同时在执行Debgu Reload和执行shutDown命令(没有开启AOF持久化时),会自动触发RDB持久化。

SIMPLIS仿真软件2.2-SIMPLIS快速入门2 SIMPLIS仿真软件2.2-SIMPLIS快速入门2导读 导读 本文承接上一篇文章。开始介绍SIMPLIS仿真部分。正如上一篇所讲的快速入门的定位,该文对SIMPLIS的三种分析模式不会很深入的讲解,只会记录下一些重要的设置和操作。对于SIMPLIS的三种分析模式的详细讲解,后面会专门撰写。如果读者还没有搭建上一篇文章中讲述的电路,那你可以点击这个链接免费下载所需的电路SIMPLIS_tutorial_buck_converter ,然后在这个电路的基础上继续进行以下操作。 ... 阅读详情

相关推荐

CTF逆向实战:如何快速识别RC4、TEA和Base64的魔改变种?

本文针对CTF逆向比赛中常见的加密算法魔改问题,详细讲解了如何快速识别和破解RC4、TEA和Base64的变种。通过分析算法核心特征、常见魔改手法,并结合动态调试与脚本编写等实战技巧,帮助逆向分析人员有效应对算法混淆,提升解题效率。

agile9scrum的博客 784

Redis持久化——RDF与AOF两种方式怎么做?有什么区别?

本文介绍了Redis的两种持久化机制RDB和AOF。RDB通过定期生成数据快照实现持久化,支持手动save/bgsave命令和自动触发机制,但存在数据丢失风险和性能开销。AOF记录所有写操作命令,支持重写以减少文件体积,数据安全性更高但文件较大。两者可混合使用,重启时优先加载AOF文件。此外还介绍了纯缓存模式,即关闭持久化功能。文章详细比较了两种机制的优缺点、实现原理及配置方式,帮助读者根据业务需求选择合适的持久化策略。

m0_70325779的博客 2211

微磁模拟实战指南:从OOMMF安装到首个3D模型运行

本文详细介绍了OOMMF微磁模拟软件的安装与使用,从环境配置到首个3D模型运行的完整教程。涵盖Windows、Linux和macOS平台的安装避坑指南,以及MIF文件编写、并行计算优化等实战技巧,帮助研究人员快速掌握这一开源工具在磁畴壁运动、磁滞回线等微磁学问题中的应用。

weixin_29294597的博客 153

Redis持久化方案RDB详解

学过Redis的同学都知道Redis的数据都是在内存当中的,因此Redis必须要有持久化策略,如果没有持久化策略,你关闭Redis或者之后,你的数据有可能全部都丢失了。我们每再一次登录Redis访问上一次数据的时候,我们都看到了原来的数据,就是得益于Redis的持久化。Redis的持久化简单说就是,将Redis存在内存中的值存储到可以永久存储的地方(磁盘等),本章就来讲解一下Redis的持久化方案之一的RDB方式!......

qq_56370103的博客 1040

《深入浅出图神经网络:GNN原理解析》学习笔记

期末考完了,该上道了 目录一、图的概述1.基本概念2.图的存储和遍历3.应用分类二、神经网络基础1.机器学习2.神经网络三、卷积神经网络(CNN)1.卷积与池化2.卷积神经网络四、表示学习1.意义2.自编码器五、图信号处理与图卷积神经网络1.矩阵计算前置知识2.图信号与图的拉普拉斯矩阵3.图傅里叶变换4.图滤波器(Graph Filter)5.图卷积神经网络(GCN) 一、图的概述 1.基本概念 1.顶点(Vertex)表示研究的对象,边(Edge)表示两个对象之间特定的研究关系 2.图为顶点和边的集合.

且视他人之疑目如盏盏鬼火,大胆地去走你的夜路 2049

【编译原理】LL(1)分析方法 生成语法树(c++实现)

基本流程 输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树

qq_43417265的博客 1万+

咔擦,不就是快照嘛

大家好,我是小林哥。虽说 Redis 是内存数据库,但是它为数据的持久化提供了两个技术。分别是「 AOF 日志和 RDB 快照」。这两种技术都会用各用一个日志文件来记录信息,但是记录的内容...

形势所逼,不进则退 298

VisionMaster 4.2.0安装

按照顺序安装。

XuXing_java的专栏 3800

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)

RDB 是什么?在指定的时间间隔内将内存当中的数据集快照写入到磁盘当中,也就是Snapshot快照,恢复时将快照文件当中的内容读取到内存当中。“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

weixin_61635597的博客 1760

如何在OBS中添加实时时间戳:Lua脚本配置教程(附效果展示)

本文详细介绍了如何在OBS中通过Lua脚本配置实时时间戳功能,包括环境准备、脚本获取、安装配置及高级定制。适用于直播和视频录制场景,提供精准回溯和风格自定义,支持多平台适配和性能优化,是专业制作的必备技巧。

day7的博客 1045

手把手教你完成基于matlab的LSTM时间序列分析

时间序列是按时间顺序组织的数字序列,是数据分析中重要的处理对象之一。时间序列的主要特点是数据获取方式一般具有客观性,能反映某种现象的变化趋势或统计指标,进而预测未来走向,这在本质上也是一个回归预测的问题。长短时记忆网络(Long Short-Term Memory,LSTM)是一种循环神经网络,适合处理有更长时间跨度的内部记忆,被广泛应用于时间序列分析,能够保持数据的内在持续性,反映数据的细粒度走势,具有良好的预测效果。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 897

Redis进阶 - 持久化:RDB和AOF机制详解

Redis持久化简介 从两个点,我们来了解下Redis持久化 为什么需要持久化? Redis是个基于内存的数据库。那服务一旦宕机,内存中的数据将全部丢失。通常的解决方案是从后端数据库恢复这些数据,但后端数据库有性能瓶颈,如果是大数据量的恢复,1、会对数据库带来巨大的压力,2、数据库的性能不如Redis。导致程序响应慢。所以对Redis来说,实现数据的持久化,避免从后端数据库中恢复数据,是至关重要的。 Redis持久化有哪些方式呢?为什么我们需要重点学RDB和AOF? 从严格意义上说,Redis..

Ch3nnn的博客 9721

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

864

Redis 持久化 RDB方案

Redis持久化之RDB方案 Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据。 可以在配置文件中配置Redis进行快照保存的时机,格式如下: save [seconds] [changes] 意为在[seconds]秒内如果发生了[changes]次数据修改,则进行一次RDB快照保存,例如 save 60 100 会让Redis每60秒检查一次...

大数据流浪法师的学习笔记与分享 413

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【图解】Redis的持久化方案—RDB持久化、AOF持久化、AOF重写

Redis的持久化方案(冷备):RDB和AOF RDB:Redis Dump Binary,把当前进程数据生成快照保存到硬盘的过程,触发RDB分为自动和手动两种方式。 手动触发:手动触发的命令:save和bgsave,两个命令都可以触发生成快照生成RDB文件,但是有区别: save:阻塞Redis的服务器进程直至RDB文件创建完成 bgsave:会由Redis主进程fork出来一个子进程,子进程会把数据集先写入临时文件,写入成功之后,再替换之前的RDB文件,用二进制压缩存储,保证RDB文件始终存储的

不是很懂 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Redis: RDB与AOF的选择和容灾备份以及Redis数据持久化的优化方案

1 )同时开启在我们 Redis 的服务器上,把RDB和AOF同时打开, 这样可以通过RDB快速的恢复数据,因为它是一个紧凑的缩缩的二进制文件, 但是有时 Redis 的不小心故障了,丢失了十几分钟的数据可以通过AOF来做数据的恢复, 因为它所有写命令都会记录,Redis先加载AOF文件来恢复原始数据,因为AOF数据比RDB更完整,有时候我们会把一些错误的命令也记录在文件中, 会有一些潜在的bug,可以通过 redis-check-aof 来做修复,如果AOF文件实在是用不了,恢复不了,可以把RDB作为一

Wang的专栏 1412

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Redis持久化方案RDB和AOF

当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。其实就是将存储在内存中的数据以文件的形式存储在硬盘上的。Everysec策略的同步操作是通过后台I/O线程进行的,由于是在子线程中进行,所以主线程并不会被阻塞,可以继续服务新的请求,但是内存和硬盘中的数据会有1秒的差别(不一定精准),这是一种折衷的方案,寻求了一个平衡。Always策略的同步操作是在主进程的主线程中进行的,由于fsync的阻塞特性,会导致其挂起,在此期间无法服务新的请求,因而吞吐量下降,但确实能够保证内存和硬盘中数据的一致性。

小云很优秀 1050

《Redis持久化机制对比与RDB/AOF调优方案》

Redis持久化机制对比与调优方案 Redis提供RDB快照和AOF日志两种持久化方式保障数据安全。RDB通过周期快照实现高性能备份,AOF记录写命令确保数据完整性,4.0+版本支持混合模式结合两者优势。主节点推荐AOF everysec+混合持久化,从节点建议关闭持久化。电商等高并发场景可关闭RDB,采用AOF每秒刷盘。关键调优包括:监控fork延迟、定期备份验证、主从差异化配置。注意持久化不等于备份,需建立独立灾备方案,定期测试恢复流程。不同场景需权衡性能与数据安全,选择适合的持久化策略组合。

qq_43414012的博客 2348

Redis持久化方案之RDB和AOF

为什么需要Redis持久化 因为Redis的数据都保存在内存里,当发生宕机的时候,内存里数据就会丢失,所以需要一种机制来实现不丢失数据。 Redis的持久化机制有两种:RDB快照和AOF日志。 RDB快照 快照是一次的全量备份、是内存数据的二进制序列化。 Redis使用COW机制来实现快照持久化。 Redis会 fork一个子进程,子进程来处理快照持久化工作,子进程共享父进程的代码段和数据段,子进程不会修改内存的数据结构,只是遍历读取序列化写入磁盘中。父进程需要响应客户端的请求,会对内存的数据结构进行修改,

凯凯王的技术生涯 221

Redis 持久化方案:RDB与AOF

关闭redis时,会将内存中的数据持久化到硬盘,同步数据; 启动redis时,会从硬盘加载数据到内存。 平时也要将内存的数据同步到硬盘,redis提供了2种持久化方案:RDB、AOF RDB RDB是redis默认使用的持久化方案,隔一段时间同步一次,使用快照保存内存中的数据。 打开redis.conf,搜索rdb即可找到RDB相关配置: RD...

chenhongyong 127

配置方案:Redis持久化RDB和AOF

Redis持久化方案 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘。当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。 Redis提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF。 RDB持久化可以在指定的时间...

开心的小包子 1880

Redis的持久化方案,RDB和AOF详解

目录 一.Redis持久化方案(RDB和AOF) 1.1 RDB(Redis DataBase) 1.1.1 原理介绍 1.1.2 触发快照的机制 1.1.3 RDB快照文件压缩方式 1.1.4 关于RDB的配置 1.2 AOF(Append Only File) 1.2.1 原理介绍 2.1.2 AOF同步策略 2.1.3 AOF重写策略 2.1.4 AOF重写条件 ...

Anakki的博客 676

深入理解 Redis 持久化机制:RDB vs AOF,如何选择最佳方案?

Redis 以高性能和低延迟著称,但它作为内存数据库,如果服务器崩溃或重启,数据可能会丢失。因此,Redis 提供了 持久化机制,确保数据可以在系统崩溃后恢复。 Redis 主要提供两种持久化方案: RDB(Redis Database):定期快照,适合大规模数据恢复 AOF(Append-Only File):日志记录,适合实时数据持久化

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 2278

Redis持久化方案RDB和AOF分析

Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。 RDB 详解 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。 触发RDB快照 1 在指定的时间间隔内,执行指...

咸鱼的博客 353
上一篇: Gossip协议
下一篇: Copy-On-Write
至学者
博客等级 码龄9年 180粉丝 773原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值