Redis持久化---RDBAOF

news2024/10/7 20:33:19

目录

一、什么是持久化,为什么要持久化?

 二、RDB

 2.1 配置文件

2.2 自动触发

2.3 手动触发

2.4 RDB优缺点

2.5 如何修复dump.rdb文件

2.6   哪些情况会触发快照  && 如何禁用RDB?

 三、AOF

3.1  什么是AOF?

 3.2  AOF的三种写回策略

 3.3  AOF的配置

 3.4   AOF演示

 3.5 AOF恢复

3.6  AOF数据备份的优缺点

3.7  AOF的重写机制

四、RDB和AOF混合存在  与  纯缓存模式

4.1   RDB和AOF混合存在

 4.2 纯缓存模式


一、什么是持久化,为什么要持久化?

持久化就是把内存中的内容写进到磁盘当中。

因为如果数据是在内存当中的话,一旦断电(服务器宕机),那么数据都打到mysql上,这将是灾难的。

现在持久化的方式就两种:RDBAOF

 二、RDB

 什么是RDB?

 2.1 配置文件

7之前的配置

 7之后的配置

 可以看到,7之后对频次要求更高了

2.2 自动触发

我们先看一下默认的自动触发条件:

 修改配置:

这里的修改我们分成了三步:

1、我们可以在5秒内修改两次,来观察下效果:

flushall     /   flushdb命令也会直接生成dump文件,单生成的文件是空的

而且,在执行shutdown的时候,也会立刻生成一个dump文件。

我们再来观察下恢复的情况:

备注:不可以把备份文件dump.rdb和生产redis服务器放在同一台机器,必须分开各自存储

以防生产机物理损坏后备份文件也挂了

2.3 手动触发

当我们有一个比较重要的数据进来的时候,这时候还没有满足频次的要求呢,但是我们也想要保存他,为了满足这一要求,我们就可以采用手动触发的方式来进行。

生产上只能用bgsave,绝对不能和用save

因为用save阻塞redis服务器,直到持久化任务完成,相当于解决了一个问题,但又产生了一个新的问题,这是不行的

 而bgsave会在后台异步进行快照操作,不阻塞快照的同时还可以想要客户端请求该触发方式会fork一个子进程由子进程复制持久化过程

2.4 RDB优缺点

优势

(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。

(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。

(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快

劣势:

(1)可能会出现数据丢失:比如说还没有满足修改频次要求的时候,服务器宕机了,那么就会丢失最近一次的数据。

(2)Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑,可能会导致服务请求延时

2.5 如何修复dump.rdb文件

2.6   哪些情况会触发快照  && 如何禁用RDB?

哪些情况会触发快照?

1、符合自动触发条件

2、手动触发:save    bgsave

3、使用flushall  或者  flushdb的时候,但生成的rdb文件是空的,没有什么意义。

4、使用shutdown且没有开启AOF持久化

5、主从复制的时候,主节点自动触发

如何禁用RDB?

1、命令型修改(就这一次):

 2、配置文件修改:

 三、AOF

3.1  什么是AOF?

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

 3.2  AOF的三种写回策略

 3.3  AOF的配置

生成路径配置:

 保存名称的配置:

redis 7之前,只有一个AOF文件,redis7之后引入了Mult Part AOF的设计,一共有三个文件

 3.4   AOF演示

生成持久化文件:

 3.5 AOF恢复

正常恢复:

和RDB的恢复一样,很简单的测试

 异常恢复:

情景展示:

那么遇到这种情况该怎么修复呢?

这和我们的RDB修复的情况很类似,也是用到了/usr/local/bin   下面的文件进行的

 修复完成之后,我们再次启动就正常了。

3.6  AOF数据备份的优缺点

优势

  • 更好的保护数据不丢失、性能高、可做紧急恢复
  • AOF有  “减肥”  机制,当AOF文件过大的时候,能够在后台自动重写(减肥)。
  • 当不小心执行了fluhall命令后,我们也可以通过将incr文件的最后一条flushall删除就行了。

劣势

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

3.7  AOF的重写机制

一句话概括就是:

启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集,就是“减肥计划”

重写案例:

 触发条件:

 触发演示:

 我们首先肯定要修改触发条件,默认的64M我们肯定是实现不了的。

我们先来看下自动触发:

 手动触发:

重写原理:

四、RDB和AOF混合存在  与  纯缓存模式

4.1   RDB和AOF混合存在

混合存在时候的流程:

 我们应该是用到混合存在的手段,而不是单独用其中一个,就像鸳鸯锅一样

 4.2 纯缓存模式

我们要知道,redis最主要的工作就是缓存的工作,是为了来保护mysql的,开启持久化功能的时候势必会让redis分心,

有时候在高并发、高性能的缓存服务器条件下我们会为了效率,关闭持久化功能,只是让redis进行缓存功能

关闭功能的手段:         我们只是禁用了自动触发的部分,但是我们还是可以手动触发

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

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

相关文章

(四)Kubernetes - 手动部署(二进制方式安装)

Kubernetes - 手动部署 [ 3 ] 1 部署work node1.1 创建工作目录并拷贝二进制文件1.2 部署kubelet1.2.1 创建配置文件1.2.2 配置文件1.2.3 生成kubelet初次加入集群引导kubeconfig文件1.2.4 systemd管理kubelet1.2.5 启动并设置开机启动1.2.6 允许kubelet证书申请并加入集群 1.3…

猫狗训练集训练报错:Failed to find data adapter that can handle input

这里写自定义目录标题 Jupyter Notebook6.5.4 tensorflow 2.12.0 pillow 9.5.0 numpy 1.23.5 keras 2.12.0 报错详细内容&#xff1a; ValueError: Failed to find data adapter that can handle input: (<class ‘tuple’> containing values of types {“<class ‘k…

Midjourney关键词分享!附输出AI绘画参考图

Midjourney 关键词是指用于 Midjourney 这个 AI 绘画工具的文本提示&#xff0c;可以影响生成图像的风格、内容、细节等。Midjourney 关键词有一些基本的语法规则和套用公式&#xff0c;也有一些常用的风格词汇和描述词汇&#xff0c;这里我以10张不同风格和类型的美女图为例&a…

windows 下Node.js 版本管理工具

目录 1、概述&#xff1a; 2、下载安装 3、nvm命令 4、如何安装不在可用列表里面的版本 1、概述&#xff1a; 不同项目使用的nodejs版本和依赖等不同&#xff0c;需要进行nodejs的版本切换&#xff0c;使用nvm可以方便的切换当前的nodejs版本 windows可以使用 nvm-window…

AP360X 可充电多功能LED手电筒与移动照明控制ic和应用方案

产品展示 线路图如下&#xff1a; ​ AP360X芯片应用原理图和扩容1.8A应用&#xff1a; ​​ 1&#xff0c;产品介绍 AP360X 系列产品是一款多种模式可选 的单芯片 LED 手电筒控制芯片&#xff0c;集成了锂电 池充电管理模块、手电筒功能控制模块和保 护模块&#xff0c;关机…

剑指 Offer 34. 二叉树中和为某一值的路径 / LeetCode 113. 路径总和 II(深度优先搜索)

题目&#xff1a; 链接&#xff1a;剑指 Offer 34. 二叉树中和为某一值的路径&#xff1b;LeetCode 113. 路径总和 II 难度&#xff1a;中等 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 …

身为程序员,你有哪些提高写代码效率的黑科技?

目录 1、Google/Stackoverflow——搜索解决方案的能力 2、低代码平台——提供可复用的轮子 3、人工智能——帮你写代码 4、学会话术——消除烦恼 5、 按时上下班&#xff0c;一周工作 5 天&#xff0c;养足精神以更高效地写代码。 首先&#xff0c;每个程序员都是会利用工…

GPU理解

什么是GPU GPU(Graphics Processing Unit)代表图形处理单元。该术语通常与图形卡或视频卡等术语互换使用。从技术上讲&#xff0c;GPU 是第三方显卡或主板上的主要图形处理芯片。 GPU 与 CPU不同。CPU 是中央处理器&#xff0c;它是计算机的主要大脑。GPU 专用于执行在计算机…

操作系统内存管理笔记

计算机的硬件设备 计算机的硬件设备中&#xff0c;有三个部件最为关键&#xff0c;它们分别是中央处理器CPU、内存和I/O控制芯片。 系统软件 系统软件可以分成两块&#xff0c;一块是平台性的&#xff0c;比如操作系统内核、驱动程序、运行库和数以千计的系统工具&#xff1…

文献阅读(51)—— Transformer 用于中国空气质量检测

文献阅读&#xff08;51&#xff09;—— Transformer 用于中国空气质量检测 文章目录 文献阅读&#xff08;51&#xff09;—— Transformer 用于中国空气质量检测先验知识/知识拓展文章结构背景文章方法1. Dartboard Spatial MSA(DS-MSA)2. CT-MSA3. 自上而下的随机阶段 文章…

Tapdata 的 ∞ 实践:中小企业如何轻量、高效地搭建起一个灵活易用的数字化平台

数字化浪潮的裹挟下&#xff0c;企业的转型之路正在变得愈加清晰。 然而在数字化转型这条企业生存和发展的必由之路上&#xff0c;更易受到市场变化冲击、所处环境竞争压力更大的中小企业无疑在面临更多的困难和挑战。一方面&#xff0c;中小企业为了顺应时代潮流、适应市场需…

jQuery移动端日期组件,H5移动端日期组件,MUI移动端日期组件,移动端简单的日期组件

前言 比较简单 H5移动端日期组件&#xff0c;使用的是MUI官方JS组件&#xff0c;因为不想自己写一个所以直接拿来改动一下用了 效果图 实现 准备工作 到官网下载css和js&#xff1a;https://dev.dcloud.net.cn/mui/ 到官网查看API&#xff1a;https://dev.dcloud.net.cn/mu…

中国社科院与美国杜兰大学金融管理硕士项目——迎接立夏,切莫忘记自我成长

五月的风吹走了春季&#xff0c;今天我们迎来立夏。作为夏季的第一个节气&#xff0c;立夏常被人们当做万物蓄满能量&#xff0c;即将加速生长的标志。而在职的我们&#xff0c;也应该跟这世间万物一样&#xff0c;在季节交替之时沉淀自己、努力向上成长。在社科院与杜兰大学金…

推荐6个我经常逛的“小网站”,嘿嘿嘿!!!

如今&#xff0c;全球互联网上已经有超过 17 亿个网站。除了全球那些主流网站被大家所熟知外&#xff0c;其实还有很多很多网站&#xff0c;被淹没在了互联网世界中。 每次发现优质的内容都会第一时间给大家分享出来&#xff0c;不管是软件&#xff0c;插件&#xff0c;脚本还…

vscode 实现代码编译

vscode 实现代码编译 之前一直纠结用vascode的编译按钮实现编译&#xff0c;这样就需要额外配置json文件&#xff0c;会非常麻烦&#xff0c;其实vscode也支持用编译命令&#xff0c;具体步骤如下&#xff1a; 新建makefile文件&#xff0c;文件内容如下&#xff1a; target: g…

Activity四种启动模式分析

一、前言 在初学Android的时候&#xff0c;几乎所有的学习资料都会提到Activity有四种启动模式&#xff1a; standardsingleTopsingTasksingleInstance 而提到这四种启动方式的差异&#xff0c;必然要提到一个重要的概念Activity的Task任务栈&#xff0c;我们需要明确的一点是…

vue3之vite创建H5项目之4 ( 自动导入api、按需引入van)

vue3之vite创建H5项目之4 1:自动导入vue3相关api之ref等 &#xff08;unplugin-auto-import&#xff09; pnpm i unplugin-auto-import -D 1-1 自动导入vue3相关api之ref 1-1 vite.config.ts 配置 import AutoImport from "unplugin-auto-import/vite"export de…

【操作系统OS】学习笔记第三章 内存管理【哈工大李治军老师】更新中...

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…

RocketMQ的下载及安装以及历史和发展

目录 RocketMQ历史及发展RocketMQ的下载及安装下载安装windows下的安装下载配置环境变量启动注意事项 控制台插件环境要求下载启动控制台使用文档Linux下的安装环境要求启动注意事项控制台插件 RocketMQ源码安装与调试下载环境要求IntelliJ IDEA导入启动RocketMQ源码 RocketMQ历…

2023天猫运营数据分析:Q1防晒品类行业分析报告

随着防晒观念的普及&#xff0c;日常防晒已逐步成为很多人的习惯。加之今年消费市场日渐复苏&#xff0c;消费者的“报复性出游”也加速了防晒市场的发展。 市场对防晒品类在2023年的表现抱有更高的期待&#xff0c;防晒品类有望成为整个化妆品消费领域复苏较好的赛道。 根据鲸…