⑩①【缓存】Redis持久化 RDB + AOF

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

⑩①Redis持久化 RDB + AOF

    • Redis数据快照 - RDB
    • Redis追加文件 - AOF
    • RDB + AOF 混合模式



Redis数据快照 - RDB

RDB

  • RDB全称 Redis Database Backup file,即Redis数据备份文件,也被叫做Redis数据快照。

  • 总的来说就是将内存中的数据都记录到磁盘中形成快照文件,当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。(在指定的时间间隔,执行数据集的时间点快照,dump.rdb文件

  • # 由Redis主进程执行RDB,会阻塞所有命令
    save# 开启子进程执行RDB,避免主进程受到影响
    bgsave
    
  • 在这里插入图片描述



RDB执行原理

在这里插入图片描述



设置RDB触发规则

  • Redis内部有触发RDB的机制,可以通过redis.conf配置文件进行设置:

  • 在这里插入图片描述

  • redis7以后的配置情况

    在这里插入图片描述



RDB的优缺点

  • 优点:
    • ①RDB保存时执行的是全量快照,适合大规模的数据恢复;
    • ②可以按照业务定时备份;
    • ③对数据完整性和一致性要求不高;
    • ④RDB文件在内存中的加载速度比AOF文件快得多;
  • 缺点:
    • ①快照间的数据会丢失,原因是一定时间间隔备份一次,若期间redis宕机,就会丢失最近一次快照至当前这段时间的数据;
    • ②内存数据的全量同步,若数据量太大会I/O严重而影响性能;
    • ③RDB依赖主进程fork,数据集较大可能导致服务请求的瞬间延时,且fork时内存中的数据被克隆,占用两倍空间;



Redis追加文件 - AOF

AOF

  • AOF全称 Append Only File,即追加文件。 Redis处理的每一个写命令都会记录在AOF文件中 ,也可以将其看作日志文件。
  • 只许追加AOF文件而不能修改AOF文件 ,Redis启动之初会读取该文件重新构建数据。(AOF保存的是appendonly.aof文件
  • 默认情况下,Redis AOF是没有开启的,开启需要修改Redis配置文件redis.conf,修改内容为appendonly yes



使用与策略

  • redis配置文件:redis.conf中:
# 是否开启AOF功能 默认是no
appendonly yes
# AOF文件的名称
appendfilename "appendonly.aof"# AOF的三种写回策略
# 1. 每执行一次写命令,立即记录到AOF文件
appendfsync always
# 2. 写命令执行完先放入AOF缓冲区,然后每间隔1秒将缓冲区数据写入AOF文件
appendfsync everysec
# 3.  写命令执行完先放入AOF缓冲区,由操作系统决定何时将数据写入AOF文件
appendfsync no# AOF自动重写
# 1. AOF文件比上次文件 增长超过多少百分比会触发AOF重写
auto-aof-rewrite-percentage 100
# 2. AOF文件体积超过多少会触发AOF重写
auto-aof-rewrite-min-size 64mb# AOF重写期间是否同步?no:期间可同步、yes:期间不同步。
no-appendfsync-on-rewrite no

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



AOF工作原理

在这里插入图片描述



AOF优缺点

  • 优点:
    • ①更好地保护数据不丢失、性能高、可做紧急恢复;
  • 缺点:
    • ①相同数据集的数据而言,aof文件远大于rdb文件,恢复速度也慢于rdb;
    • ②aof运行效率慢于rdb,每秒同步策略效率较好,不同步策略效率与rdb相同;



RDB + AOF 混合模式

在这里插入图片描述


混合使用:AOF + RDB

  • 开启混合模式(修改redis.conf配置文件)

    • # yes表示开启,设置为no表示禁用
      aof-use-rdb-preamble yes
      
    • 注意:使用混合模式的前置条件是开启了AOF功能

  • 执行原理(RDB镜像做全量持久化,AOF做增量持久化):

    • 先使用RDB进行快照存储,然后使用AOF持久化记录所有的写操作,当重写策略满足或手动触发重写的时候,将最新的数据存储为新的RDB记录。这样的话,重启服务的时候会从RDB和AOF两部分恢复数据,既保证了数据完整性,又提高了恢复数据的性能。简单来说:混合持久化方式产生的文件一部分是RDB格式,一部分是AOF格式。----》AOF包括了RDB头部+AOF混写

在这里插入图片描述





在这里插入图片描述

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

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

相关文章

Channel 使用事项和注意细节

&#xff08;1&#xff09;channel 可以声明为只读&#xff0c;或者只写性质 &#xff08;2&#xff09;channel 只读和只写的最佳实践案例 在默认情况下&#xff0c;管道是双向管道&#xff0c;即可读可写。 var ch chan intfunc main() {//声明为只写管道var chan1 chan<…

R2 score

R2 score is a criteria for linear model. R 2 1 − S S E S S T R^2 1 - \frac{SSE}{SST} R21−SSTSSE​ where, S S E SSE SSE is the residual sum of squares S S E ∑ i 1 n ( y ^ i − y i ) 2 SSE \sum_{i1}^n (\hat y_i - y_i)^2 SSEi1∑n​(y^​i​−yi​)2 S…

【中小型企业网络实战案例 五】配置可靠性和负载分担

【中小型企业网络实战案例 三】配置DHCP动态分配地址-CSDN博客 【中小型企业网络实战案例 四】配置OSPF动态路由协议 【中小型企业网络实战案例 二】配置网络互连互通-CSDN博客 【中小型企业网络实战案例 一】规划、需求和基本配置_大小企业网络配置实例-CSDN博客 配置VRRP联…

跨境电商卖家一般用海外云手机做什么?

近些年&#xff0c;海外云手机在跨境电商领域已经逐渐流行开来&#xff0c;但是对于许多人来说海外云手机还是比较陌生&#xff0c;它有什么作用&#xff1f;它可以用于哪些场景&#xff1f;在本文中&#xff0c;我们将详细跨境电商卖家一般是怎样使用海外云手机的。 1. 海外网…

单片机的存储、堆栈与程序执行方式

一、单片机存储区域 如图所示位STM32F103ZET6的参数&#xff1a; 单片机的ROM&#xff08;内部FLASH&#xff09;&#xff1a;512KB&#xff0c;用来存放程序代码的空间。 单片机的RAM&#xff1a;64KB&#xff0c;一般都被分配为堆、栈、变量等的空间。 二、堆和栈的概念 …

Linux shell编程学习笔记38:history命令

目录 0 前言 1 history命令的功能、格式和退出状态1.1 history命令的功能1.2 history命令的格式1.3退出状态2 命令应用实例2.1 history&#xff1a;显示命令历史列表2.2 history -a&#xff1a;将当前会话的命令行历史追加到历史文件~/.bash_history中2.3 history -c&#xf…

Leetcode 2983. Palindrome Rearrangement Queries

Leetcode 2983. Palindrome Rearrangement Queries 1. 解题思路2. 代码实现 题目链接&#xff1a;2983. Palindrome Rearrangement Queries 1. 解题思路 这道题看了一下&#xff0c;截至我写的时候&#xff0c;只有103个大佬给出了这个题目的解答&#xff0c;而且这次的竞赛…

Go语言中的HTTP重定向

大家好&#xff0c;我是你们可爱的编程小助手&#xff0c;今天我们要一起探讨如何使用Go语言实现HTTP重定向&#xff0c;让我们开始吧&#xff01; 大家都知道&#xff0c;网站开发中有时候需要将用户的请求从一个URL导向到另一个URL。比如说&#xff0c;你可能想将旧的URL结构…

Redis 数据结构和常用命令

* 代表多个&#xff0c;&#xff1f;代表一个 &#xff08;不用全部敲出来&#xff0c;按住tab可以自动补全&#xff09; -2是无效&#xff0c;-1是永久有效 &#xff1b;贴心小提示&#xff1a;内存非常宝贵&#xff0c;对于一些数据&#xff0c;我们应当给他一些过期时间&a…

attempted relative import beyond top-level package

attempted relative import beyond top-level package 这个错误通常发生在 Python 中尝试使用超出顶层包范围的相对导入时。Python 的相对导入是基于模块之间的相对位置进行的&#xff0c;因此&#xff0c;如果相对导入超出了顶层包的范围&#xff0c;就会报这个错误。 解决方法…

计算机组成原理-总线概述

文章目录 总线简图总线的物理实现总览总线定义总线的特性总线的分类按数据格式分类串行总线并行总线 按总线功能分类注意系统总线的进一步分类 总线的结构单总线的机构双总线的结构三总线的结构四总线的结构 小结 总线简图 总线的物理实现 如果该为数据总线&#xff0c;那么当…

Hive详解、配置、数据结构、Hive CLI

一、Hive 认识 1. Hive 应用 问题&#xff1a;公司的经营状况&#xff1f; 主题一&#xff1a;财务现金流指标1.1&#xff1a;净现金流入/流出量指标1.2&#xff1a;现金转换周期预算执行状况指标2.1&#xff1a;预算内成本控制指标2.2&#xff1a;预算与实际支出的差异 主题…

图文证明 泰勒公式展开

泰勒公式 泰勒公式简单来说就是,可以用一个N次多项式来表示出一个连续可导的函数 f(x) 是一个用函数在某点的信息描述其附近取值的公式 第一步 思考 这是一个sin(x)的图像 用函数在原点的信息描述其附近取值 用一阶导数贴合: 直接用切线来贴合就好 画一个点(0,sin(0)除的切…

MySQL使用问题记录

在使用MybatisPlus做一个记录的查询&#xff0c;出现一个奇怪的错误&#xff0c;异常信息如下&#xff1a; line 1:136 mismatched input source expecting {!, ~, , -, ., (, {, ?, , TRUNCATE, POSITION, VIEW, VALUES, CASE, CAST, TRIM, SUBSTRING, LEFT, RIGHT, IF, NOT…

Nginx和OpenResty面试题及简单示例

简要解释Nginx的工作原理 Nginx的工作原理&#xff1a; Nginx采用事件驱动和异步非阻塞的架构。它通过一个主进程和多个工作进程处理客户端请求。当有新的请求到达时&#xff0c;主进程接受并分发请求给空闲的工作进程进行处理。Nginx使用高效的I/O多路复用机制&#xff0c;可…

[NISACTF 2022]babyupload

[NISACTF 2022]babyupload wp 信息搜集 进入页面&#xff1a; 尝试文件上传&#xff0c;但是各种后缀名我都试过了&#xff0c;过不去。 在源码中发现提示&#xff0c;存在 ./source 路径&#xff1a; 访问该路径得到源码&#xff1a; from flask import Flask, request, r…

《深入理解C++11:C++11新特性解析与应用》笔记六

第六章 提高性能及操作硬件的能力 6.1 常量表达式 6.1.1 运行时常量性与编译时常量性 大多数情况下&#xff0c;const描述的是运行时常量性&#xff0c;也即是运行时数据的不可更改性。但有时候我们需要的却是编译时的常量性&#xff0c;这是const关键字无法保证的。例如&am…

精品Nodejs实现的在线菜谱食谱美食学习系统的设计与实现

《[含文档PPT源码等]精品Nodejs实现的在线菜谱学习系统的设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 操作系统&#xff1a;Windows 10、Windows 7、Windows…

day5--java基础编程:异常,内部类

6 异常 6.1 异常概述 出现背景&#xff1a; 在使用计算机语言进行项目开发的过程中&#xff0c;即使程序员把代码写得尽善尽美&#xff0c;在系统的运行过程中仍然会遇到一些问题&#xff0c;因为很多问题不是靠代码能够避免的&#xff0c;比如:客户输入数据的格式&#xff0c…

逆变器在光伏发电系统中的作用是什么?安装时应注意哪些事项?

在光伏发电系统中&#xff0c;逆变器是一个至关重要的组件&#xff0c;主要作用是什么&#xff1f; 1.是将直流电转换为交流电的关键&#xff1a;太阳能电池板所产生的电能是直流电&#xff0c;逆变器可将直流电转换为交流电&#xff0c;是的太阳能电池板所产生的电能可以被家…