Redis持久化之RDB笔记

数据产品需求文档(PRD)怎么写?阿里P8分享的模板+5个避坑点 作用:记录文档的版本、作者、评审信息,避免“文档混乱”。填写规范字段说明示例文档名称清晰反映产品名称,如“用户行为分析平台PRD”用户行为分析平台PRD_V1.0文档版本用“版本号+日期”,如V1.0_20240301编写人数据产品经理姓名+联系方式张三(138-XXXX-XXXX)评审人员业务负责人、开发经理、数据分析师、运维负责人李四(业务)、王五(开发)、赵六(数据)、周七(运维)评审时间评审日期2024-03-05评审意见。 阅读详情

1、RDB是什么

  • 在指定的时间间隔内将内存中的数据集快照写入磁盘,
  • 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里
  • Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到
    一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能
    如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

2、Fork

  • Fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程

3、Rdb 保存的是dump.rdb文件

具体可以在redis.conf中配置默认为dump.rdb

在这里插入图片描述

4、如何触发RDB快照

1)触发快照
在这里插入图片描述
默认触发快照条件配置为:

  • 60秒改1万次
  • 300秒改10次
  • 900秒改1次

2)通过使用命令进行快照

  • Save:save时只管保存,其它不管,全部阻塞
  • BGSAVE:Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。可以通过lastsave命令获取最后一次成功执行快照的时间

3)注意点使用flashall命令,也会产生快照,但是是空的快照没有意义

5、如何恢复数据

  • 将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可
  • CONFIG GET dir获取目录,查看快照生成的位置,即如redis.conf配置文件中配置的位置

在这里插入图片描述

  • 当dump.rgb文件出错可用redis-check-rdb --fix 要检查的rgb文件,回复该文件。

6、RDB的优势

  • 适合大规模的数据恢复
  • 对数据完整性和一致性要求不高

7、RDB的劣势

  • 在一定间隔时间做一次备份,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改
  • Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑

8、如何停止使用RDB

  • 动态所有停止RDB保存规则的方法:redis-cli config set save “”
  • 即将配置文件此处改为红框位置的内容即可

在这里插入图片描述

Nginx/OpenResty目录穿越漏洞复现 Nginx/OpenResty目录穿越漏洞复现 漏洞背景: 2020年03月18日, 360CERT监测发现 openwall oss-security 邮件组披露了两枚漏洞。在特定配置下 nginx/openresty 存在 内存泄漏漏洞/目录穿越漏洞。 Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。 OpenResty是一个基于nginx的Web平台,它对nginx增加LuaJIT引擎使其运行Lua脚本。 影响版本: nginx <= v1.17 阅读详情

相关推荐

【COMSOL】将一个面上数据导出CSV或txt格式的方法

在COMSOL中参数化扫描后,把一个面上或体里的数据按照CSV或TXT格式导出的方法。

dave496206的博客 2992

Redis错误之:打开RDB文件保存失败

问题描述 最近在windows系统下进行开发,所以用到的redis也是windows版本的。因为解压之后便直接使用了,并没有修改redis相关配置。导致redis跑了一段时间过后就会报下面的错误。 错误信息 # Background saving error [12784] 20 Oct 10:52:32.091 * 100 changes in 300 seconds. Saving... [12784] 20 Oct 10:52:32.136 * Background saving starte

qq_45065241的博客 1万+

腾讯Octop:Windows本地AI助手一键安装实战指南

本地AI助手是面向普通用户在个人设备上运行大语言模型的轻量级解决方案,其核心原理在于封装模型加载、推理调度与Web交互等底层复杂性,通过预编译运行时、自适应硬件加速和图形化配置降低使用门槛。技术价值体现在免环境依赖、离线可用、开箱即用,显著提升非开发者在专利撰写、文案生成、技术文档处理等办公场景中的生产力。本文聚焦Windows平台下的腾讯Octop工具,结合qwen2-7b-instruct、phi-3-mini等主流GGUF量化模型,详解安装适配、API集成与专利辅助工作流,覆盖从零部署到工程落地的完整

weixin_29055137的博客 308

Redis 存储失败

解决办法:用管理员账户运行Redis服务器端。

qq_45193988的博客 921

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 388

Verilog 并行 FIR 滤波器设计

FIR(Finite Impulse Response)滤波器是一种有限长单位冲激响应滤波器,又称为非递归型滤波器。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统,在数字通信、图像处理等领域都有着广泛的应用。

m0_61687959的博客 1604

Redis在Windows下的坑

今天无聊拖了一个项目玩了一下,其中环境要求就有Redis 虽然有Linux的环境,可是又不想动,直接在个人娱乐电脑上装了一下; win10的系统 一开始架好项目都OK了,一登录的时候Redis报错 这是win10下Redis报错 其实已经是很明显了,但是一开始我只是看了一下项目中的错误,写入错误,一般来说windows单机就是好玩的一般没这样的问题,写入问题没权限也是Linux下容易出现的问题 S...

u010049198的博客 8261

ESP32+LED12864液晶屏实战:手把手教你显示中文与自定义图标(附完整代码)

本文详细介绍了如何使用ESP32单片机驱动带字库的LED12864液晶屏,实现中文显示与自定义图标。从硬件选型、接线方案到驱动编写、字库解析,提供了完整的实战代码与优化技巧,并最终构建了一个智能家居控制面板的完整示例项目。

weixin_29212867的博客 146

Redis学习笔记(二) -- 持久化

以前学 Redis 只是停留在最简单的使用阶段,对其底层实现一点也不关心,甚至是配置文件的每个配置都不熟悉。o(︶︿︶)o 唉,近期开始恶补 Redis 的知识点,才发现不简单呀! 今天先讲解一下 Redis 的持久化! 为什么要持久化? 我们知道 Redis 是内存数据库,单线程性能也超级强。但是在现在来说,数据才是一切,有数据的公司和没数据的公司是无法相比的。偏偏 Redis 是内存数据库,所...

LuckyToMeet-Dian叶 318

SCDM学习笔记(5)

几何前处理后一般会获得几何的固体区域,然而当进行流体仿真的时候是对流体的区域进行计算的。因此,如何快速地从固体的几何模型获得流体的几何模型是一个重点问题。 流体问题一般可分为内流场与外流场问题,对于内流场问题,SCDM有专门的处理工具 工程图纸大致如下: 要创建这个几何的大致策略是画出截面的圆形,再画出轴线,通过扫掠的方式建立几何。 以上是mixing的国体区域,通过体积抽...

diyhoo的编程小屋 6358

RK3568笔记十七:LVGL v8.2移植

若该文为原创文章,转载请注明原文出处。本文介绍嵌入式图形库移植到Linux开发板ATK-RK3568上的步骤。

4233

【Windows安装redis遇到的巨坑】rdbSave failed in qfork: Permission denied

windows安装redis的时候出现的巨坑

weixin_44712778的博客 1301

华为昇腾(Ascend)开发考试原题目解析 (2024) (题库一)——HCIP-AI-Ascend Developer——第一部分

给出一段代码如下,以下哪个选项描述错误?...A.中的语句由 MindSpore 接管,有语法限制B. 算子在中定义,并用来建立网络C.__init__()中的语句由 Python 解析执行D. 网络定义必须继承基类nn.Cell正确答案: B__init__()用于定义算子和网络层。所有需要用到的层(如卷积层、全连接层等)都应该在这里进行实例化。这部分代码由Python解释器执行。用于构建前向计算图。它调用在__init__()中定义好的算子和层来描述数据的流向。

qq_38334677的博客 1054

Redis RDB 持久化笔记

LASTSAVE返回最后一次成功生成 RDB 的 Unix 时间戳。BGSAVE客户端执行 BGSAVE↓Redis 主进程执行 fork()↓创建 RDB 子进程↓父子进程共享物理内存↓父进程继续处理客户端请求↓子进程读取旧数据生成 RDB↓父进程写数据时触发写时复制↓父进程使用新页,子进程使用旧页↓子进程先生成临时 RDB 文件↓成功后替换旧的 dump.rdb↓子进程退出↓无人使用的旧内存页被回收。

m0_65136138的博客 357

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Redis学习笔记(八)--RDB持久化

本文介绍了Redis的RDB持久化技术,为作者在学习Redis时的笔记,特此记录,以便后续学习中能够查漏补缺。

Scr1Pt的博客 1079

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Redis笔记 -- 持久化之RDB

RDB个人理解就是每隔一定的时间就将目前Redis中的数据写到磁盘上,这样,即使Redis宕机,在重连后也可以继续加载数据。无法保证将所有的数据都进行备份。假如每分钟备份一次,那么如果在半分钟的时候宕机,这时,磁盘数据中就只有上个分钟的数据,最近的这半分钟数据还没有来得及备份。RDB在进行持久化时,需要调用fork()。虽然fork同步速度比较快,但是当数据量比较大的时候,也会对Redis的性能产生影响。

Kaiser__的博客 902

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Redis笔记】RDB持久化

数据库状态:将服务器中的非空数据库以及键值对统称为数据库状态为什么要RDB持久化?因为redis是内存数据库,将自己的数据库状态储存在内存里面,如果不把内存中的数据库状态保存到磁盘里面,那么一旦服务器退出,服务器中的 数据库状态也会消失不见。RDB文件的创建:SAVE命令:阻塞Redis服务器进程,直到RDB文件创建完...

weixin_42326661的博客 143

Redis学习笔记—持久化机制之RDB

Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复;本篇介绍RDB。 RDB (Redis DataBase)持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发 手动触发 两个用于持久化的手动触发命令:save和bgsave save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。运行save命令对应的Redis

aiguoba的博客 580

redis笔记-RDB持久化

1. redis为什么需要持久化? 因为redis是内存数据库,它将数据存储在内存里,如果服务器进程退出,内存中的数据也会丢失 2. 生成rdb文件的两个命令 save: save命令会阻塞redis服务器进程,直到rdb文件创建完毕,在服务器进程阻塞期间,服务器不能处理任何命令请求 bgsave: bgsave会派生一个子进程,在子进程里创建rdb文件,服务器主进程会继续处理命令 3. rdb文件的载入 rdb文件的载入没有专门的命令,只有在服务器启动时自动执行 3...

无 184

Redis持久化之RDB学习笔记

一、Redis持久化之RDB(Redis DataBase) 1.1 概念 ​ RDB指在指定的时间间隔将内存中的数据集快照写入磁盘,恢复时是将快照文件直接读取到内存里 1.2 备份如何执行 ​ Redis会单独创建(fork)一个子进程来进行持久化,先将数据写入到一个临时文件中,等持久化进程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程不进行任何IO操作,如果需要进行大规模的数据恢复,且对于数据恢复的完整性不是非常敏感,那么RDB方式要比AOF方式更加高效。RDB的缺点是最后一次持久

BananaAres的博客 272

《Redis设计与实现》笔记——RDB持久化

文章目录RDB持久化:1. RDB文件的创建与载入2. 自动间隔性保存3. RDB文件结构4. 分析RDB文件 (看看就行) RDB持久化: rdb持久化可以把Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。 redis在需要时可以将数据库状态保存为RDB文件,也可以将RDB文件还原为数据库状态。 1. RDB文件的创建与载入 SAVE 和BGSAVE 都可以生成RDB文件 save:会阻塞Redis的服务器进程,知道RDB文件创建完毕,阻塞期间,服务器不能处理任何命令请求,客户

aLinxi的博客 834

【Redis笔记】一起学习Redis | 聊聊Redis的持久化策略,AOF和RDB

一起学习Redis,探讨Redis的RDB,AOF及混合式的数据持久化方案 !

长路漫漫的歇脚处 1149

Redis持久化技术之RDB快照 学习笔记

所谓快照,就是记录某一瞬间的内存数据,因此,不同于AOF日志记录的是操作命令,RDB文件的内容是二进制数据。因此在Redis恢复数据时,采用RDB的效率会更高,直接将RDB文件读入内存即可,不需要像AOF那样还需要额外执行命令来恢复数据。

sc35262的博客 532

关于Redis持久化AOF和RDB的小笔记

RDB:redis data base 以快照形式存储redis数据,redis.conf默认配置使用 getset命令15分钟1次、5分钟10次、1分钟1w次,保存到dump.pdb中。AOF:appendfilename以日志形式保存数据,大约只有1秒的误差, 保存到appendonly.aof中。AOF文件如果出现恢复异常,进入redis安装路径 执行 redis-check-aof --f...

qq_34993506的博客 257

Redis笔记——配置文件及持久化RDB、AOF

Redis.conf 容量单位不区分大小写,G和GB有区别 可以使用 include 组合多个配置问题 网络配置 日志 # 日志 # Specify the server verbosity level. # This can be one of: # debug (a lot of information, useful for development/testing) # verbose (many rarely useful info, but not a mess like the debug l

qq_49182770的博客 463

Redis笔记之持久化(RDB和AOF)

AOF:Append Only File,以日志的形式来记录每个写的操作,将Redis执行过的所有指定都记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将指令从签到后执行一次以完成数据的恢复工作。默认情况下,Redis将数据库快照保存在名字为dump.rdb的二进制文件中,文件名可以在配置文件中进行自定义。的时候,redis的主线程是不会做IO操作的,主线程会fork一个子线程来完成该操作;...

JAVA开发区的博客 166
上一篇: EasyExcel快速入门使用
下一篇: Redis持久化之AOF笔记
magicproblem
博客等级 码龄7年 22粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值