2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

news2024/11/28 14:06:52

2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

答案2023-06-07:

Redis提供了两种持久化机制:RDB和AOF。

RDB

在这里插入图片描述

RDB持久化是将Redis当前进程中的数据生成快照并保存到硬盘的过程。快照指的是Redis在某一时刻的内存状态的记录,类似于拍照一样把数据保存下来,因此也被称为Redis的数据库快照(Redis DataBase Dump),简称RDB。该机制使得Redis能够将内存中的数据保存到磁盘上并在需要的时候加载该数据从而恢复Redis的状态。

优点:
Redis RDB机制只需要一个文件dump.rdb即可对Redis的内存数据进行持久化存储,并且具有容灾性好的特点,因为该文件可以保存到安全的磁盘上。

此外,RDB机制的性能也相对较高,其实现通过fork子进程的方式,在子进程中完成写操作,让主进程继续处理命令,从而充分利用了系统的IO性能。

特别是在数据集较大的情况下,相比AOF机制,RDB的启动效率更高。

缺点:

相对于AOF机制而言,RDB机制的数据安全性可能会稍差一些。因为RDB机制是间隔一定时间(或手动触发)进行一次持久化,如果在两次持久化之间Redis发生故障,可能会导致数据的丢失。因此,RDB机制更适合对数据安全性要求不高的场景。但需要注意的是,在Redis运行时也可以通过调用SAVE或BGSAVE命令来手动触发RDB存储,以增加数据的安全性。

AOF

在这里插入图片描述

AOF (Append Only File)持久化机制以日志的形式记录每次写操作,当Redis服务重启时,会根据记录的日志重新执行AOF文件中的命令来恢复数据。相比于RDB机制,AOF机制主要解决了数据持久化时的实时性问题,因此已经成为了Redis持久化的主流方式之一。AOF将Redis的每一次写操作记录到文件中,避免了在数据丢失时的大规模数据损失,因此对于对数据安全性要求比较高的场景,使用AOF机制是更好的选择。

缺点:

1.AOF文件通常比RDB文件要大,并且在重启时恢复速度相对较慢。这是由于AOF机制需要不断地将写操作记录追加到文件中,从而导致了文件大小的增长。实际上,Redis提供了AOF重写机制(AOF Rewrite),可以通过压缩AOF文件来减小文件大小和恢复时间。

2.数据集比较大时,使用AOF机制的启动效率可能会较低。这是因为AOF机制通常需要恢复文件中所有的写操作,而数据集比较大时,AOF文件的体积也会随之增大,导致恢复时间变长。与之相比,RDB机制则具有较好的启动效率,因为仅需要加载一次快照即可完成恢复。

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

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

相关文章

2.5 TCP网络协议

一、TCP协议网络开发API 1、传输控制块(TCB) 传输控制块(TCB)是TCP协议的核心数据结构之一,它用于维护TCP连接状态和处理TCP数据传输。每个TCP连接都有一个对应的TCB,其中包含了该连接的相关信息&#xf…

地震勘探基础(十四)之地震反演

地震反演 反射波地震勘探主要是利用的是地下岩石的弹性差异特征,而弹性差异主要体现在波阻抗差异上。地震波垂直入射情况下,反射系数的公式告诉我们反射界面上下的波阻抗差异越大,反射系数越大,反射振幅也就相对较强。 利用反射波…

使用Hugo+Github从0开始免费搭建个人博客

环境搭建 一.安装git 以win11为例 1.注册git账号:https://github.com/并记住用户名和密码 2.下载地址:Git - Downloads (git-scm.com)鼠标右键显示Git Bash Here就表示安装Git成功了。 3.设置本地git用户 git config --global user.name "Your…

ROS 2 Humble 标定纠正畸变全景鱼眼展开网络摄像头

简介 本文使用 Ubuntu 系统,用 Python 开发 ROS 2 ,用 camera_calibration 功能包标定相机,用 OpenCV 读取视频帧和转换 ROS 2 图像话题,用 MediaMTX 搭建流媒体服务器, 用 FFmpeg 将视频帧输出为视频流。 最终效果: 环境准备 虚拟机 VMware Workstation 安装 Ubunt…

L9110S电机驱动模块demo

0.资料 项目工程文件夹 分文件原理 1.认识L9110S 1、概述: 一个L9110S驱动可以控制一个电机,图中左右两个黑色芯片就是L9110S驱动。当然如果会硬件也可以直接把它们设计到单片机开发板上。 一个电机由两个针脚控制,我们用杜邦线让L9110S…

MidJourney如何画出专业摄影师拍出的照片效果,附提示词

文 / 高扬(微信公众号:量子论) 最近沉迷于MidJourney作画,与ChatGPT相比,研究AI绘画,可以扩大自己的想像空间。 孩子的想像力更为丰富,如果家有宝宝,可以把孩子们的想法用AI绘画呈现…

面向对象的几大特性总结(适合秋招和小白学习的一篇文章)

前言: 本篇文章主要讲解面向对象的几大特性相关知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~ 小威在此先感谢各位小伙伴儿了😁 以下正文开始 …

Doo Prime 德璞资本:怎么买黄金期货?黄金期货交易特点有哪些?

黄金期货是一种衍生品,是指在期货交易所上交易的黄金合约。作为一种高风险高收益的投资工具,有哪些黄金期货交易特点?本文围绕这一内容展开说明。 黄金期货交易特点一、需要开立账户 黄金期货是期货,如同股票投资要到证券公司开户一样,黄金期…

JVM | Java内存区域

JVM | Java内存区域 1、运行时数据区域1.1、程序计数器(线程私有)1.2、虚拟机栈(线程私有)1.3、本地方法栈(线程私有)1.4、堆(线程共享)1.5、方法区(元空间)(线程共享)1.6、直接内存(线程共享)2、HotSpot 虚拟机对象分配、布局和访问2.1、对象创建流程2.2、对象的…

【高危】Apache Inlong 存在JDBC反序列化漏洞

漏洞描述 Apache InLong 是可用于构建基于流式的数据分析、建模等一站式的海量数据集成框架。 在Apache Inlong受影响版本,由于未对接收的jdbcUrl参数过滤空格字符,导致可以利用空格绕过jdbcUrl中autoDeserialize参数过滤限制,通过认证的攻…

LegalAI领域大规模预训练语言模型的整理、总结及介绍(持续更新ing…)

诸神缄默不语-个人CSDN博文目录 最近更新日期:2023.6.7 最早更新日期:2023.6.7 文章目录 1. 通用大规模预训练语言模型2. 对话模型3. 分句 1. 通用大规模预训练语言模型 英语: LegalBERT 原始论文:(2020 EMNLP) LEGAL-BERT: Th…

Django - 页面静态化基本使用(一)

一. 前言 一个网页会有很多数据是不需要经常变动的,比如说首页,变动频率低而访问量大,我们可以把它静态化,这样就不需要每次有请求都要查询数据库再返回,可以减少服务器压力 我们可以使用Django的模板渲染功能完成页面…

Linux | SFTP

SFTP 文章目录 SFTPSSH 文件传输协议连接获取SFTP帮助查看及切换路径遍历远程文件系统访问本地的文件系统 传输文件传输本地文件到远程服务器简单的文件操作图形界面程序Reference欢迎关注公众号【三戒纪元】 SSH 文件传输协议 FTP,即文件传输协议,是一…

Java中的几种关键字详细介绍(秋招总结篇)

前言: 本篇文章主要讲解Java中的几种关键字相关知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~ 小威在此先感谢各位小伙伴儿了😁 以下正文开始 文…

prometheus介绍与安装

prometheus介绍与安装 文章目录 prometheus介绍与安装一、Prometheus 简介1.Prometheus 优势2.Prometheus 基础架构 二、Prometheus 安装1.后端存储配置 三、使用 Prometheus 实现系统监控四、使用 Prometheus Grafana 实现可视化界面四.zabbixgrafana 安装部署参考http://t.c…

【Mininet】基础篇:开源控制器POX

大家好,我是文思月! 每文一言:时间不在于你拥有多少,而在于你如何使用! 本篇文章: 本篇文章主要是基于POX控制器进行的两个实验:一个是使交换机模拟hub(集线器)的功能&a…

逍遥自在学C语言 | 宏定义技巧让你的C代码快人一步

前言 在C语言中,宏定义是一种预处理指令,用于在代码中定义和使用常量、函数或代码片段的替代。 宏定义使用#define关键字来定义,并在代码中进行替换。宏定义具有以下优点: 简化代码:宏定义可以将一些常用的、重复出…

MySQL高可用集群解决方案之:lvs+keepalived+mysql cluster实现负载均衡

一:前言 Mysql-cluster本身实现了高可用,但是其sql节点并没有实现负载均衡。怎样让程序能均衡地访问sql节点呢,程序里写哪个数据库服务器IP呢? LVS是实现负载均衡作用的,即将客户端的需求采用特定的负载均衡算法分发…

在职考研 | 对于朝九晚五的上班族来说同等学力申硕更轻松!

我们要知道的是,考在职研究生的群体90%以上都是朝九晚五的上班族。 他们工作忙,时间和精力都很有限。 考研本身难度就很大,但是既拿不出足够多的备考时间,也没法到线下去上课。 怎么能考上呢? 在这样的现实条件下&…

yolov5部署到android studio

目录 环境获取demo将pt文件导出为ptl文件修改demo修改PrePostProcessor增加ptl文件并增加类别文件修改MainActivity 大功告成 环境 Ubuntu22.10 Pytorch2.0.1cu117 Android Studio Flamingo | 2022.2.1 Patch 1 获取demo git clone https://github.com/pytorch/android-demo…