Redis从入门到精通进阶篇之持久化RDB和AOF机制详解

news2024/11/26 2:29:32

文章目录

    • RDB持久化
    • AOF持久化
    • RDB与AOF的混合持久化

在这里插入图片描述

Redis 6的持久化机制主要有两种:RDB(Redis DataBase)和AOF(Append Only File)。本文将详细介绍这两种持久化方式的工作原理和配置要点。

RDB持久化

RDB持久化是将当前进程的数据生成快照保存到磁盘的过程。它可以通过手动触发或自动触发两种方式来执行。

手动触发RDB持久化可以使用save命令或bgsave命令。save命令会阻塞Redis服务器直到RDB过程完成,而bgsave命令则会创建一个子进程来执行持久化操作,主进程可以继续处理其他请求。

自动触发RDB持久化可以在配置文件中设置save指令,指定在一定时间间隔内有一定数量的修改操作时自动触发bgsave命令。

RDB持久化的优点包括快速恢复数据、压缩存储和加载速度快。缺点是实时性较差,无法做到秒级持久化,并且执行bgsave命令会进行fork子进程,频繁执行开销较大。

RDB持久化的配置项包括:

  • dbfilename:RDB文件在磁盘上的名称。
  • dir:RDB文件的存储路径。
  • stop-writes-on-bgsave-error:如果持久化过程出错,主进程是否停止写入操作。
  • rdbcompression:是否对RDB文件进行压缩。
  • rdbchecksum:在RDB文件末尾添加冗余校验编码。

AOF持久化

AOF持久化是将Redis服务器收到的每个写操作追加到AOF文件的过程。通过回放AOF文件中的写操作,可以还原出之前的数据状态。

AOF持久化有三种策略可供选择:

  • appendfsync always:每个写操作都立即同步到磁盘,最安全但性能最低。
  • appendfsync everysec:每秒同步一次,平衡了安全和性能。
  • appendfsync no:完全依赖操作系统进行同步,性能最好但风险最高。

AOF持久化的优点包括实时性好、可读性强和故障恢复快速。缺点是AOF文件通常比RDB文件大,加载速度较慢。

AOF持久化的配置项包括:

  • appendfilename:AOF文件在磁盘上的名称。
  • appendonly:是否开启AOF持久化。
  • appendfsync:AOF同步策略。

RDB与AOF的混合持久化

Redis 6引入了RDB与AOF的混合持久化方式,可以同时使用RDB和AOF两种持久化方式。这种方式下,Redis首先加载RDB文件恢复数据,然后通过回放AOF文件将最新的写操作应用到数据中。

混合持久化的优点是可以充分利用RDB的快速加载和AOF的实时性,同时克服了AOF文件较大的问题。

以上是Redis 6的持久化机制的详细介绍,根据实际需求,可以选择合适的持久化方式来保障数据的持久性和可恢复性。

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

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

相关文章

中国电子学会2023年05月份青少年软件编程Scratch图形化等级考试试卷一级真题(含答案)

2023年5月 Scratch一级真题 题数:37 分数:100 测试时长:60min 一、单选题(共25题,共50分) 1. 看图找规律,请问下图红框中是?(D)(2分) A. B. C. …

C++线程库(1)

C线程库(1) 线程进程基础概念多线程线程调用函数的底层值作为参数引用作为参数右值引用作为参数 join和destach区别joinable函数 jthread(C20)同步异步(简述)互斥(简述)阻塞非阻塞递…

SpringAOP+自定义注解简单使用

一、SpringAOP简述 SpringAOP可以帮助我们在不修改源代码的前提下实现功能增强,其底层实现原理基于Java动态代理或者CGLIB。 之前我们使用 execution表达式指定被AOP增强的方法:(execution关键字用于描述哪些方法需要切面逻辑) 但是这样使用非常不灵活&a…

网络层:路由选择协议

1.网络层:路由选择协议 笔记来源: 湖科大教书匠:路由选择协议概述 湖科大教书匠:路由信息协议RIP的基本工作原理 湖科大教书匠:开放最短路径优先OSPF的基本工作原理 湖科大教书匠:边界网关协议&#xff08…

力扣题库刷题笔记7--N

1、题目如下: 2、个人Python代码实现: 看到此题的第一反应就是,生成一个类似二维数组的多个字符串,然后用个标志位控制N字符中字符的方向,例如flag True,在每次循环时候以flag flag * -1来控制。 由于示例…

嵌套虚拟机-Win10下的-wmware中的Ubuntu1804-使用KVM-安装win和ubuntu虚拟机

一、物理机操作 参考博文-CSDN-林麦安 -关于“ VMware Workstation 16 此平台不支持虚拟化的Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT,是否继续?”的有关问题的总结解答 在windows物理机搜索:内核隔离 把开关置为关 但是我的物理机这个选项已经是…

学习系统编程No.24【深入学习信号】

引言: 北京时间:2023/6/13/19:07,伴随着期末考的来临,最近停课啦!无论是线上课,还是学校的课,开心,那这不是咱持续更文的好时候嘛,但是今天在学习相关C知识时&#xff0…

华为防火墙之安全策略

1.安全策略初体验 安全策略在防火墙转发报文的过程中扮演着重要角色,只有安全策略允许通过,报文才能在安全区域之间流动,否则报文将被丢弃。 先来看一个简单的网络环境,如下图: 如果想在防火墙上允许PC访问Web服务器…

NOTA-(COOt-Bu)3-Bn-NCS:一款多功能四氮杂环螯合剂标记

文章关键词:双功能螯合剂,大环化合物,有机双功能DOTA,金属离子螯合剂,四氮杂环螯合剂标记 【产品描述】 NOTA及其衍生物是新型双功能整合剂之一。NOTA及其衍生物具有良好的配位和鳌合能力,可作为过渡金属离…

vmstat调优命令

目录 一、vmstat命令描述 二、vmstat的语法格式 三、压力测试工具stress 实验: 模拟I/O负载 查看是哪个进程I/O读写高:pidstat -d (-d参数查看各进程io情况) 总结 一、vmstat命令描述 vmstat命令: 用来获得有关进程、虚存、页面交换…

ChatGPT写文章

ChatGPT写小文章 只是个人对写小XX的心得?从知乎,知网自己总结的,有问题,可以留个言我改一下 被CSDN制裁过 关键词:论文 文章目录 ChatGPT写小文章-1.写XX模仿实战(狗头)0.XX组成1.好XX前提:2.标题3.摘要4.关键词5.概述6.实验数据、公式或者设计7.结论,思考8.参…

vsce报错The Personal Access Token verification has failed.,vsce login登录时同报此错的解决办法

本篇文章主要讲解vscode插件开发提交插件版本时出现的token报错问题的解决办法。 日期:2023年6月15日 作者:任聪聪 报错现象 1.vsce login 用户id报错如下: 具体报错内容: The Personal Access Token verification has failed. Additional information: Error: {"…

7.vue3医疗在线问诊项目 - _极速问诊-支付功能实现 ==> 预支付信息渲染、支付流程解析、订单生成、支付完成

7.vue3医疗在线问诊项目 - _极速问诊-支付功能实现 > 预支付信息渲染、支付流程解析、订单生成、支付完成 问诊支付-路由和预支付信息渲染{#pay-html} 实现:问诊页面路由配置,获取问诊预支付信息并渲染。 需求: 配置预订单信息页面路由定…

[学习笔记] [机器学习] 12. [上] HMM 隐马尔可夫算法(马尔科夫链、HMM 三类问题、前后后向算法、维特比算法、鲍姆-韦尔奇算法、API 及实例)

学习目标: 了解什么是马尔科夫链知道什么是 HMM 模型知道前向后向算法评估观察序列概率知道维特比算法解码隐藏状态序列了解鲍姆-韦尔奇算法知道 HMM 模型 API 的使用 1. 马尔科夫链 学习目标: 知道什么是马尔科夫链 在机器学习算法中,马…

【MySQL入门】-- 数据库介绍

目录 1.为什么要使用数据库? 2.数据库相关概念 3.数据库与数据库管理系统的关系 4.常见数据库排名 5.常见数据库的简单介绍 6.MySQL介绍 7.MySQL版本的选择 8.关系型数据库和非关系型数据库 9.关系型数据库设计规则以及规范 10.表的关系(一对…

【Proteus仿真】51单片机+ADC0808模数转换数码管显示

【Proteus仿真】51单片机+ADC0808模数转换数码管显示 📺Proteus仿真演示: 📗ADC0808主要数据参数简介 8路输入通道,8位A/D转换器,即分辨率为8位:0 - 255。转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。模拟输入电压范围0~+5V,不需零点和满刻度校准。…

谷粒商城第一天-项目概述、架构、Linux环境搭建

目录 一、学习的内容 一、常见的商城模式 二、谷粒商城项目的微服务架构 三、谷粒商城项目的微服务划分 四、谷粒商城项目的亮点 五、微服务的基本的概念 二、完成的进度 三、学到的东西 四、总结 6月9日正式下决心开始学习谷粒商城项目,之前早就听说谷粒商…

Powerjob部署安装

安装思路: 1、本地环境和具体生产环境都要安装部署jdk-------------------参考jdk安装 2、本地部署maven-------------------参考maven安装 3、本地部署powerjob 4、生成jar包,上传生产环境启动 部署: 1、下载上传Powerjob包,本次选取4.0.1版本 https://github.com/Powe…

arx程序与cgal冲突的地方,记录一下

arx本身是个dll,而且运行库是 /md,多线程,无论debug还是release都是/md,而不是/mtd cgal编译出来的库,release版本是Mt,debug版本是MTd 感觉debug版本是MTd对arx没用,不知道这种看法对不对&…

stable diffusion webui 安装部署(linux系统)

文中部署stable diffusion webui所使用的机器是腾讯云服务器linux系统,centos7 一 环境准备 在这里使用anaconda安装,优势就是可以方便地安装和管理软件包,同一系统上可以同时使用不同版本的 Python 和第三方软件包。如果你需要安装多个系统…