Redis的两种持久化方式---RDB、AOF

rdb其实就是一种快照持久化的方式,它会将Redis在某个时间点的所有的数据状态以二进制的方式保存到硬盘上的文件当中,它相对于aof文件会小很多,因为知识某个时间点的数据,当然,这就会导致它的实时性不够高,如果突然停机,那么会导致大量丢失数据,所以需要AOF来配合使用。

而AOF是一种追加日志的持久化方式, 在先执行完写操作命令后,然后把该命令以追加的方式写入文件尾。它会比rdb文件大很多,因为一直在记录命令嘛,所以由此引入了aof重写的一个机制。之后就是 Redis 重启时,会读取该文件记录的命令,然后逐一执行命令的方式来进行数据恢复。

通常这两个会结合来进行配置,先进行rdb数据恢复,然后再通过aof进行数据恢复。

先执行命令,再写日志------>【避免额外的检查开销不会阻塞当前写操作命令的执行

所以数据完整性上它其实是更可靠的持久化方式,因为它几乎可以保证每个写操作都被记录下来,并且在几乎不会发生数据丢失的情况。但是之所以说是几乎,其实是取决于AOF日志sync属性的配置的。

当Redis重启时,它可以重新执行这些写命令来恢复数据状态。但是就是因为它会将每个命令记录下来,所以导致它比RDB文件大太多了,而且如果一个key有多个写操作,那么AOF也会多次进行记录,但是只有最后一次写操作才有用嘛,所以就可以执行bgrewriteaof命令,让AOF文件执行重写功能,来达到用最少的命令达到相同效果。

在这里插入图片描述
而在使用持久化机制时,我们其实也可以选择同时使用RDB和AOF,也可以只使用其中一种。不过同时使用两种方式时,在Redis实例重启的时候,就可以使用RDB持久化文件重新构建内存,再使用AOF重放近期的操作指令来实现完整恢复重启之前的状态。

把RDB理解为一整个表全量的数据,AOF理解为每次操作的日志,服务器重启的时候先把表的数据全部搞进去,但是他可能不完整,你再回放一下日志,数据不就完整了嘛

不过Redis本身的机制是 AOF持久化开启且存在AOF文件时,优先加载AOF文件;AOF关闭或者AOF文件不存在时,加载RDB文件;加载AOF/RDB文件成功后,Redis启动成功; AOF/RDB文件存在错误时,Redis启动失败并打印错误信息。

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

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

相关文章

Nature Electronics|柔性可吞服电子设备用于胃部电生理学监测(柔性健康监测/可吞服电子/柔性

美国麻省理工学院David H. Koch 综合癌症研究所的 Giovanni Traverso团队,在《Nature Electronics》上发布了一篇题为“An ingestible device for gastric electrophysiology”的论文。论文内容如下: 一、 摘要 从胃肠道和肠道神经系统记录高质量电生理数据的能力有助于了解…

信通院发布!首个大模型混合云标准

近日,中国信通院发布了首个大模型混合云标准,通过定位当前大模型混合云的能力水平,为基于混合云的大模型服务实践提供指引,并明确未来提升方向。同时,中国信通院基于标准展开大模型混合云能力成熟度专项测试&#xff0…

生信技能54 - WisecondorX多线程并行分析CNV

WisecondorX分析CNV,默认单样本分析,batch_analysis参数设置为True可启动多样本并行分析。 WisecondorX基本使用方法以及npz文件转换和reference构建参考文章: 生信技能53 - wiseconrdoX自动化批量npz转换和reference构建 github: https://github.com/CenterForMedicalGe…

Windows 安装 PostgreSQL 并安装 vector 扩展

目录 前言 下载安装 pgAdmin 4 vector 扩展 前言 调研大模型时,了解到一些大模型的应用,其中一个就是知识库,用户可以上传文档到知识库中,系统解析文档并将内容向量化保存起来,以便在和模型交互时使用。 在和大模…

【MySQL进阶之路 | 高级篇】数据操作类型的角度理解共享锁,排他锁

1. 从数据操作的类型划分:读锁,写锁 对于数据库并发事务的读-读情况并不会引起什么问题。对于写-写,读-写操作或写-写操作这些情况可能会引起一些问题,需要使用MVCC或者加锁的方式来解决它们。在使用加锁的方式解决问题时&#x…

photoshop学习笔记——选区3 快速选择工具

快速选择工具 W shift W 在3种快速选择工具之间切换 对象选择工具 photoshop CC中没有这个工具,利用AI,将款选中的对象快速的提取选区,测试了一下,选区制作的非常nice快速选择工具 跟磁性套索类似,自动识别颜色相似…

如何快速抓取小红书帖子评论?两大实战Python技巧揭秘

摘要: 本文将深入探讨两种高效的Python方法,助您迅速获取小红书文章下方的所有评论,提升市场分析与用户洞察力。通过实战示例与详细解析,让您轻松掌握数据抓取技巧,为您的内容营销策略提供有力支持。 如何快速抓取小…

C++ | Leetcode C++题解之第284题窥视迭代器

题目&#xff1a; 题解&#xff1a; template <class T> class PeekingIterator : public Iterator<T> { public:PeekingIterator(const vector<T>& nums) : Iterator<T>(nums) {flag Iterator<T>::hasNext();if (flag) {nextElement Ite…

[Unity] ShaderGraph实现不同贴图素材的同一材质球复用

无意间发现的ShaderGraph小技巧&#xff0c; 可以实现同一个ShaderGraph&#xff0c;同一个Material材质球&#xff0c; 但使用不同的Texture贴图&#xff0c;而Sprite显示不会相互覆盖。 具体实现方法如下&#xff1a; 声明Texture2D时&#xff0c;把名字命名成&#xff1a…

如何设置postgresql数据库的账户密码

说明&#xff1a;在我的云服务器上&#xff0c;postgres是使用yum的方式安装的&#xff0c;不需要设置postgres账户的密码&#xff0c;本文介绍安装后如何手动设置postgres账户的密码&#xff1b; postgres数据库安装&#xff0c;参考下面这篇文章&#xff1a; PostgreSQL安装…

SMS-Activate 接码

pip install smsactivate from smsactivate.api import SMSActivateAPI 1. 获取密匙 在https://sms-activate.io/cn/api2#balans页面点击生成密匙 2. 查看所需服务的代码符号&#xff0c;点击见表 查看国家代码符号点击见表 3. 获取手机号 def get_phone_new(self):api SMS…

Intel任命Micron技术开发主管领导Intel Foundry制造运营

- **新闻要点**&#xff1a;Intel聘请了Micron的技术开发主管Dr. Naga Chandrasekaran担任首席全球运营官、执行副总裁以及Intel Foundry制造和供应链组织的总经理。他将负责Intel的所有制造运营事务。 #### 任命背景 - **领导团队**&#xff1a;Chandrasekaran将成为Intel执行…

MySQL 查询 limit 100000000, 10 和 limit 10 速度一样快吗?

MySQL 查询 limit 100000000, 10 和 limit 10 速度一样快吗&#xff1f; MySQL内部分为server层和存储引擎层。一般情况下存储引擎都用innodb。 server层有很多模块&#xff0c;其中需要关注的是执行器是用于跟存储引擎打交道的组件。 执行器可以通过调用存储引擎提供的接口&…

Transformer-Bert---散装知识点---mlm,nsp,较之经典tran的区别和实际应用方式

本文记录的是笔者在了解了transformer结构后嗑bert中记录的一些散装知识点&#xff0c;有时间就会整理收录&#xff0c;希望最后能把transformer一个系列都完整的更新进去。 1.自监督学习 bert与原始的transformer不同&#xff0c;bert是使用大量无标签的数据进行预训练&#…

LINUX 孤儿进程和僵尸进程

1、孤儿进 一个父进程退出&#xff0c;而它的一个或多个子进程还在运行&#xff0c;那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养&#xff0c;并由init进程对它们完成状态收集工作 为了释放子进程的占用的系统资源&#xff1a; 进程结束之后&#xf…

意象万千的紫

文章目录 引言中国紫梦幻紫莫奈紫引言 2024巴黎奥运会的临近,很多网友都被“法式浪漫奥运紫”惊艳了,大到赛场跑道,小到一个羽毛球的设计,紫色的嵌入使竞技体育增添了不少梦幻的感觉。 中国紫 清代: 陈曾寿 【 雪青衫子绮罗新,一晌当前色相真】 青莲 五代十国李璟 “青…

mysql数据库管理(2)

数据库增删改查 将sql文件传到Linux /home目录下面 mysql –uroot –p create database test; use test; source myemployees.sql&#xff08;如果在home目录下&#xff0c;直接source .sql&#xff09; show tables; select * from departments; ps&#xff1a;SQL 语言大小写…

开始尝试从0写一个项目--前端(三)

器材管理板块 添加器材管理导航 src\views\home\Home.vue src\router\index.js src\views\equipment\Equipment.vue <template><div>hello!</div></template> 测试 搜索导航分页查询 src\views\equipment\Equipment.vue <template><div&…

《动手做科研 》| 01.AI的最新进展与科研应用

地址链接:《动手做科研》01. AI的最新进展与科研应用 导读: 该部分介绍AI的最新进展以及在科研各个领域的应用 目前AI发展到什么程度了&#xff1f;哪些问题可以尝试用AI解决呢&#xff1f;如何快速构建一个属于自己的AI应用程序&#xff1f; 本教程目标&#xff1a; 与语言模…

【C++笔试强训】day01

数字统计 思路 用%10取出个位的数字&#xff0c;用/10迭代。 代码 #include <iostream> using namespace std;int main() {int l, r, res 0;cin >> l >> r;for (int i l; i < r; i){int x i;while (x){if (x % 10 2) res;x / 10;}}cout << r…