Redis中的两种持久化方式是什么

技术Redis中的两种持久化方式是什么本篇内容主要讲解“Redis中的两种持久化方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的两种持久化方式是什么”吧

本文主要讲解“Redis中坚持的两种方式是什么”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你去学习“Redis中坚持的两种方式是什么?”!

Redis中的两种持久化方式是什么

Redis的两种持久化方式

众所周知,Redis为AOF和RDB提供了持久性,所以我们简单回顾一下。

RDB持久化

RDB执着,就是把当前时间点的数据库的状态保存到磁盘中,又称快照持久化.

RDB可以手动触发,也可以根据服务器配置定期执行。

RDB生成的文件是一个经过压缩的二进制文件,通过它数据库可以是还原到该时间点的状态.

Redis提供了一个前台RDB持久性命令SAVE和一个后台RDB持久性命令BGSAVE。前台执行时,Redis的其他命令会被阻塞,而后台执行时,Redis可以继续处理客户端的命令请求。

在RDB二进制文件中,存储了键值对的数据,并采用了压缩的自定义编码,并带有验证。它可以通过od命令转换成可读的。

在主从复制中,RDB文件用于初始完全复制。

【相关推荐:Redis视频教程】

AOF持久化

AOF持久性,全称是阿彭Only File,意思是一种附加的持久性模式,其中保存的是写命令而不是数据。

AOF持久性过程分为三个步骤:命令追加、文件写入和文件同步。

命令追加:每次Redis服务器执行写命令时,都会以aof协议格式将写命令追加到服务器状态的aof_buf缓冲区的末尾。

Write:在Redis中,在结束事件循环之前,将调用flushAppendOnlyFile函数将aof_buf缓冲区中的内容写入aof文件。

文件同步:同步同步是指文件写入操作系统缓冲区时是否直接同步到磁盘。通过配置,可以选择三种同步模式:立即同步、每秒同步、不主动同步由操作系统控制。文件输入输出缓冲:https://www.litreily.top/2018/10/25/io-cache/.

Redis优先使用AOF文件来恢复数据。

AOF文件比RDB文件大,因为它存储命令并且没有压缩。

BGREWRITEAOF可以定期重写AOF文件,以减少重复命令、无效命令、合并命令等。

AOF文件支持后台重写,并以fork子进程的形式实现。子进程拥有服务器进程数据的副本,不使用锁也能保证数据安全。此外,采用AOF重写缓冲区来解决数据不一致的问题。

两种持久化分别的优缺点

RDB的优点

文件很小,适合复制以备冷备用。

备份恢复比AOF快。

00-1010:许多数据丢失。

Fork子进程做BGSAVE,会消耗一些内存资源。

00-1010减少数据丢失。

添加写缓冲区,无需寻址,速度快。

只追加,也不需要做磁盘寻址,效率高。

00-1010档体积庞大。

每次aof需要写aof_buf的时候,QPS都会在AOF持久性开启后稍微降低。

00-1010经过以上的回顾,我们可以看到RDB明显不同于AOF的执着。

存储内容:RDB存储某一时间点的数据;AOF存储执行的写命令。

文件大小:RDB文件小;AOF档案很大。

写作模式:RDB可以采用前景/背景写作模式;AOF使用的方法是,每次执行写命令时,命令都存储在缓冲区中,并且可以定期重写。

数据丢失:从停机到最后一次RDB同步,RDB丢失了所有数据;根据输入/输出缓冲区配置的刷新模式,AOF在1秒或几秒内不会丢失或丢失数据。

根据这些比较,我们可以看到RDB持久化更适合保存一个时间点的数据,在主从复制或者数据全量异地灾备时,拷贝到其他地方AOF持久化由于丢失数据较少,比较适合作为本地备份,在Reids挂掉重启时作为故障恢复.这就是我所理解的,为什么Redis需要两种持久化方式.

至此,相信大家对“Redis中坚持的两种方式是什么”有了更深的理解,那么就来做一些实际的工作吧!这是网站。更多相关内容,可以进入相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47492.html

(0)

相关推荐

  • 接头发,接头发需要多少钱,求真实答案

    技术接头发,接头发需要多少钱,求真实答案这个具体要看你接什么价位的,我是说假发的发质,有全假的合成纤维发,有半真半假的一半纤维一半真发,有全真的受损发,有全真的健康发等接头发。有一块钱一束,三块一束,八块一束。一般五块钱

    生活 2021年10月31日
  • Java高并发下怎么保证接口的幂等性

    技术Java高并发下怎么保证接口的幂等性本篇内容介绍了“Java高并发下怎么保证接口的幂等性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年10月30日
  • mysql中event怎么用

    技术mysql中event怎么用这篇文章主要为大家展示了“mysql中event怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中event怎么用”这篇文章吧。

    攻略 2021年11月2日
  • 肖申克的救赎英文观后感,肖申克的救赎英文影评50词

    技术肖申克的救赎英文观后感,肖申克的救赎英文影评50词was wrongfully convicted in court肖申克的救赎英文观后感, Xiao Shenke prison. Andy every hour a

    生活 2021年10月26日
  • Vue中怎么使用计算属性

    技术Vue中怎么使用计算属性这期内容当中小编将会给大家带来有关Vue中怎么使用计算属性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下面带大家了解一下Vue计算属性,介绍一下Vue计算

    攻略 2021年12月3日
  • springboot如何传参校验@Valid及对其的异常捕获方式

    技术springboot如何传参校验@Valid及对其的异常捕获方式这篇文章将为大家详细讲解有关springboot如何传参校验@Valid及对其的异常捕获方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读

    攻略 2021年10月20日