5.Redis持久化

news2024/12/23 23:35:42

5.Redis持久化

  • 总体介绍
  • 持久双雄
    • 一图:
    • Redis persistence
  • RDB(Redis Database)
    • 官网介绍
    • RDB(Redis 数据库):RDB 持久性以指定的时间间隔执行数据集的时间点快照。
    • 能干嘛?
    • 案例演示:
      • 需求说明
      • 配置文件
        • Redis6.0.16以下:
        • Redis6.2以及Redis-7.0.0
      • 操作步骤
      • 自动触发
        • 本次案例:5秒修改2次则保存到rdb
        • 修改dump文件保存路径
        • 修改dump文件名称
        • 如何备份
      • 如何恢复
      • 手动触发
        • Save
        • BGSAVE(默认)
    • 优势
    • 劣势
      • 如何检查修复dump.rdb文件
      • 哪些情况会触发RDB快照?
  • AOF(Append Only File)
    • 官网介绍
    • 是什么?
    • 能干嘛?
    • AOF持久化工作流程
    • AOF缓冲区三种写回策略
    • 案例演示和说明&&AOF配置/启动/修复/恢复
      • 配置文件说明(6 VS 7)
      • Redis7.0 Multi Part AOF的设计
      • 正常恢复
      • 异常恢复
    • 优势
    • 劣势
    • AOF重写机制
      • 是什么?
      • 触发机制
      • 触发
      • 案例说明
    • 重写原理:
    • AOF优化.配置项详解
    • 小总结
  • RDB-AOF混合持久化
  • 纯缓存模式

总体介绍

https://redis.io/docs/management/persistence/

在这里插入图片描述

持久双雄

一图:

在这里插入图片描述

Redis persistence

在这里插入图片描述

RDB(Redis Database)

官网介绍

在这里插入图片描述

RDB(Redis 数据库):RDB 持久性以指定的时间间隔执行数据集的时间点快照。

能干嘛?

在这里插入图片描述

案例演示:

需求说明

在这里插入图片描述

配置文件

Redis6.0.16以下:

在这里插入图片描述

Redis6.2以及Redis-7.0.0

在这里插入图片描述

可以看到,总体上时间是延长了,即相同时间下要求操作数更多了,才能触发保存rdb.

操作步骤

自动触发

在这里插入图片描述

在这里插入图片描述

################################ SNAPSHOTTING  ################################
 413 
 414 # Save the DB to disk.
 415 #
 416 # save <seconds> <changes> [<seconds> <changes> ...]
 417 #
 418 # Redis will save the DB if the given number of seconds elapsed and it
 419 # surpassed the given number of write operations against the DB.
 420 #
 421 # Snapshotting can be completely disabled with a single empty string argument
 422 # as in following example:
 423 #
 424 # save ""
 425 #
 426 # Unless specified otherwise, by default Redis will save the DB:
 427 #   * After 3600 seconds (an hour) if at least 1 change was performed
 428 #   * After 300 seconds (5 minutes) if at least 100 changes were performed
 429 #   * After 60 seconds if at least 10000 changes were performed
 430 #
 431 # You can set these explicitly by uncommenting the following line.
 432 #
 433 # save 3600 1 300 100 60 10000

本次案例:5秒修改2次则保存到rdb

在这里插入图片描述

修改dump文件保存路径

在这里插入图片描述

# The working directory.
 497 #
 498 # The DB will be written inside this directory, with the filename specified
 499 # above using the 'dbfilename' configuration directive.
 500 #
 501 # The Append Only File will also be created inside this directory.
 502 #
 503 # Note that you must specify a directory here, not a file name.
 504 dir ./

在这里插入图片描述

修改dump文件名称

在这里插入图片描述

如何备份

情况一:

在这里插入图片描述

情况二:

在这里插入图片描述

如何恢复

1.将备份文件(dump.rdb)移动到redis安装目录并启动服务即可

2.备份成功后故意用flushdb清空redis,看看是否可以恢复数据
在这里插入图片描述
在这里插入图片描述

3.物理恢复,一定服务和备份分机隔离
在这里插入图片描述

手动触发

在这里插入图片描述
在这里插入图片描述

Save

在主程序中执行会阻塞当前redis服务器,直到持久化工作完成执行save命令期间,Redis不能处理其他命令,线上禁止使用。

在这里插入图片描述

BGSAVE(默认)

在这里插入图片描述
在这里插入图片描述

Redis会使用bgsave对当前内存中的所有数据做快照,这个操作是子进程在后台完成的,这就允许主进程同时可以修改数据。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优势

在这里插入图片描述
在这里插入图片描述

劣势

在这里插入图片描述
在这里插入图片描述

如何检查修复dump.rdb文件

在这里插入图片描述

哪些情况会触发RDB快照?

在这里插入图片描述
在这里插入图片描述

stop-writes-on-bgsave-error

在这里插入图片描述

在这里插入图片描述

AOF(Append Only File)

官网介绍

在这里插入图片描述
AOF(仅追加文件):AOF持久性记录服务器接收到的每个写操作。然后,这些操作可以在服务器启动时再次重播,重建原始数据集。命令使用与Redis协议本身相同的格式进行记录。

是什么?

在这里插入图片描述

能干嘛?

在这里插入图片描述

Aof保存的是appendonly.aof文件

AOF持久化工作流程

在这里插入图片描述

AOF缓冲区三种写回策略

在这里插入图片描述
在这里插入图片描述

三种写回策略小总结update
在这里插入图片描述

案例演示和说明&&AOF配置/启动/修复/恢复

配置文件说明(6 VS 7)

1.如何启动AOF

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

aof文件-保存名称

在这里插入图片描述

Redis7.0 Multi Part AOF的设计

在这里插入图片描述

正常恢复

在这里插入图片描述

在这里插入图片描述

异常恢复

在这里插入图片描述

在这里插入图片描述

优势

在这里插入图片描述
在这里插入图片描述

更好的保护数据不丢失、性能高、可做紧急恢复

劣势

  • 相同数据集的数据而言aof文件要远大于rdb文件,恢复速度慢于rdb。
  • aof运行效率要慢于rdb,每秒同步策略效率较好,不同步效率和rdb相同。

AOF重写机制

是什么?

在这里插入图片描述

启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集。

触发机制

默认

在这里插入图片描述

触发

在这里插入图片描述

案例说明

在这里插入图片描述
在这里插入图片描述

重写原理:

1:在重写开始前,redis会创建一个“重写子进程”,
这个子进程会读取现有的AOF文件,并将其包含的指令进行分析压缩并写入到一个临时文件中。



2:与此同时,主进程会将新接收到的写指令一边累积到内存缓冲区中,一边继续写入到原有的AOF文件中,
这样做是保证原有的AOF文件的可用性,避免在重写过程中出现意外。



3:当“重写子进程”完成重写工作后,它会给父进程发一个信号,
父进程收到信号后就会将内存中缓存的写指令追加到新AOF文件中



4:当追加结束后,redis就会用新AOF文件来代替旧AOF文件,之后再有新的写指令,就都会追加到新的AOF文件中



5:重写aof文件的操作,并没有读取旧的aof文件,
而是将整个内存中的数据库内容用命令的方式重写了一个新的aof文件,这点和快照有点类似

AOF优化.配置项详解

在这里插入图片描述

小总结

在这里插入图片描述

RDB-AOF混合持久化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

纯缓存模式

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像处理——连接IP摄像头上传到服务器实现目标识别

前言 1.项目的需求是&#xff0c;本地连接IP摄像头&#xff0c;然后把图像上传到图像处理服务器器进行处理&#xff0c;得到的结果返回本地。 2.IP摄像头使用的是大华的摄像头&#xff0c;目标识别用的yolov5的模型&#xff0c;服务器用的是flask&#xff0c;实现语言是pytho…

【闪击Python】字符串的创建和驻留机制

&#x1f48c; 博客内容&#xff1a;字符串的创建和驻留机制 &#x1f600; 作  者&#xff1a;陈大大陈 &#x1f680; 个人简介&#xff1a;一个正在努力学技术的准前端&#xff0c;专注基础和实战分享 &#xff0c;欢迎私信&#xff01; &#x1f496; 欢迎大家&#x…

Dear Reality 发布全新 EXOVERB MICRO 混响插件

空间感混响效果新高度 Dear Reality 发布全新 EXOVERB MICRO 混响插件 Dear Reality 针对立体声制作推出最新的混响插件 EXOVERB MICRO&#xff0c;提供一流的真实感和空间感混响效果&#xff0c;将立体声混音技术提升至新高度。这个紧凑型音频插件功能非常强大&#xff0c;采…

得物社区亿级ES数据搜索性能调优实践

1.背景 2020年以来内容标注结果搜索就是社区中后台业务的核心高频使用场景之一&#xff0c;为了支撑复杂的后台搜索&#xff0c;我们将社区内容的关键信息额外存了一份到Elasticsearch中作为二级索引使用。随着标注业务的细分、迭代和时间的推移&#xff0c;这个索引的文档数和…

VisualStudio2022配置PCL点云库教程

属性管理器 首先&#xff0c;打开属性管理器&#xff1a;视图–其他窗口–属性管理器 打开后如图所示&#xff0c;选中Debug|x64&#xff0c;右键单击&#xff0c;选择属性 如图所示&#xff0c;需要修改的是VC目录中的包含目录和库目录&#xff1a; ** 包含目录 添加内容…

Andorid:日常学习笔记(3)——掌握日志工具的使用

使用Android的日志工具Log 方法: Android中的日志工具类为Log,这个类提供了如下方法来供我们打印日志: 使用方法: Log.d("MainActivity","onCreate execute"); 第一个参数tag:一般传入当前类名就好,主要用于队打印信息进行过滤.第二个参数:msg,具体想打…

如何成为一位测试开发工程师?测试开发的核心竞争力...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 抛出一个问题&…

【操作系统】第2章进程同步、PV操作、死锁

一、进程同步 1、 定义 &#xff08;1&#xff09; 临界资源&#xff1a;把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备&#xff08;摄像头、打印机&#xff09;和许多变量、数据、内存缓冲区都属于临界资源。 对临界资源的访问必须互斥地进行。 ① 进入…

【软考】中级 | 数据库系统工程师 | 笔记总结

&#x1f4e2;博客主页&#xff1a;肩匣与橘 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由肩匣与橘编写&#xff0c;首发于CSDN&#x1f649; &#x1f4e2;生活依旧是美好而又温柔的&#xff0c;你也…

解决winstore下载mincraft 出现错误提示的问题

mincraft 点开显示此应用无法在你的电脑上运行&#xff0c;去C:\XboxGames\Minecraft Launcher\Content下看了下&#xff1a; 但是别人电脑上相同目录下一样的文件能运行&#xff0c;于是选择重装&#xff0c;但是刚开始下载就遇到这个问题&#xff1a; 商店提示这个 点开一…

Ansys Zemax | 计算任意温度和压强下的折射率

概述 这篇文章介绍了OpticStudio如何计算材料在任意输入波长、环境温度和压强下的折射率。 介绍 通常情况下有两种参考折射率的测量方法&#xff1a;绝对测量和相对测量。其中绝对测量以真空为参考介质&#xff1b;相对测量则是以空气&#xff08;摄氏温度20&#xff0c;一个标…

MySQL之盛放记录的大盒子 【InnoDB 数据页结构】

前言 本文章收录在MySQL性能优化原理实战专栏&#xff0c;点击此处查看更多优质内容。 本文摘录自 ▪ 小孩子4919《MySQL是怎样运行的&#xff1a;从根儿上理解MySQL》 学完了记录结构&#xff0c;我们该学数据页的结构&#xff0c;前边我们简单的提了一下页的概念&#xff…

臻图信息利用数字孪生构建生态环境智慧监测系统

2月27日&#xff0c;中共中央国务院印发《数字中国建设整体布局规划》中指出&#xff0c;要推动生态环境智慧治理&#xff0c;加快构建智慧高效的生态环境信息化体系&#xff0c;建设绿色智慧的数字生态文明。 生态环境监测是生态环境保护的基础&#xff0c;是生态文明建设的重…

企业什么时候需要ERP系统?

对于许多成长中的企业来说&#xff0c;是否需要ERP系统不是问题&#xff0c;而是何时需要的问题。随着企业的发展&#xff0c;其生成的数据量和要跟踪的数据源也在不断增加。在多个平台上管理所有这些信息变得成本昂贵、费时&#xff0c;而且容易出现管理不善的情况。 虽然对于…

性能测试入门实践路线图

我转行做软件测试工作已有六年多了&#xff0c; 从功能到自动化测试&#xff0c;然后负责性能测试团队和质量团队的技术专项治理&#xff0c;再到测试专家角色&#xff0c;负责整个技术项目的产品/运营和质量保障工作。 其中性能测试和线上稳定性保障&#xff0c;算是我最擅长…

物联网|IAR集成开发环境简介|cc254核心板硬件资源|物联网之蓝牙4.0 BLE基础-学习笔记(3)

文章目录 4、IAR集成开发环境简介5、 cc254核心板硬件资源 4、IAR集成开发环境简介 完整稳定的专业嵌入式开发环境&#xff0c;对不同的处理器有统一的用户界面&#xff0c;支持35种以上的MCU&#xff0c;包括8&#xff0c;16&#xff0c;32位&#xff0c; 完全兼容C语言的 高…

女孩子转数据分析难吗?难在哪里?

对于数据分析&#xff0c;很多人乍一听会觉得没啥技术难度&#xff0c;是个适合女孩子的专业。我们面对很多零基础小白也是用通俗的语言来形容这个专业&#xff1a;一般是通过Excel或者power BI工具对数据进行分析&#xff0c;制作成可视化的报表给领导层&#xff0c;为公司业务…

VS2022编译libiconv-1.17

需求概述 获得最新版本的windows下可用的libiconv静态库。 解决方案 概述 使用VS2022编译libiconv-1.17。需要对源码手动进行配置。 本文所述的方法同样适用于动态库&#xff0c;并且理论上适用于VS2010~2022所有版本。 如果你不在乎libiconv的版本&#xff0c;可以参考 …

DevOps死了吗?平台工程能否取代DevOps?

最近&#xff0c; Scott Carey 发表了一篇调查文章&#xff0c;喊出了一些开发者的心声&#xff1a;“扯淡的DevOps&#xff0c;我们开发者根本不想做运维&#xff01;”除此之外&#xff0c;软件工程师兼DevOps评论员Sid Palas也在推特上写道&#xff0c;“DevOps已死&#xf…

C++知识点 -- 特殊类设计

C知识点 – 特殊类设计 文章目录 C知识点 -- 特殊类设计一、不能被拷贝的类二、 只能在堆上创建对象的类三、 只能在栈上创建对象的类四、 不能被继承的类五、 只能创建一个对象的类&#xff08;单例模式&#xff09;1.饿汉模式2.懒汉模式3. 单例对象释放问题&#xff1a; 一、…