当前位置: 首页 > news >正文

Redis 持久化的手段有哪些 ?RDB 和 AOF 有什么区别 ?

目录

1. Redis 持久化的手段有哪些

2. RDB 和 AOF 有什么区别

2.1 RDB 持久化

2.2  AOF 持久化

2.2.1 AOF 持久化策略有哪些

3. 混合持久化是如何执行的(了解)


1. Redis 持久化的手段有哪些

Redis 持久化的手段有三种:

  1. 快照方式(RDB - Redis Database):将某一时刻的内存数据,以二进制的方式写入磁盘.
  2. 文件追加方式(AOF - Append Only File):记录所有操作的命令,并以文本的形式追加到文件中.
  3. 混合持久化:Redis 4.0 之后新增的方式,混合持久化是集 RDB 和 AOF 二者之长的一种持久化方式.

2. RDB 和 AOF 有什么区别

2.1 RDB 持久化

工作原理:

        RDB 是通过快照的方式,将当前 Redis 内存中的数据以二进制的格式保存到磁盘,快照文件是一个经过压缩的二进制文件,它表示某一时刻,数据库的状态。

优缺点分析:

① 优点

  • 效率高,RDB 以二进制的格式将数据存储磁盘,数据恢复快。
  • 文件小,RDB 生成的快照文件,相较于 AOF 文件小,占用磁盘空间少。

② 缺点

  • 数据丢失,因为 RDB 存储磁盘的动作是定期保存的,所以当 Redis 在快照之间发生故障,则可能丢失部分数据。(如果 10s 保存一次,在 9.99s 故障,那么这 9.99s 的数据都被丢失)

2.2  AOF 持久化

工作原理:

        AOF 持久化是把每次的写操作都以日志的形式追加到文件中,所以它比 RDB 更可靠,数据不易丢失(顶多丢失一条数据,或者 1s 的数据)

优缺点分析:

① 优点

  • 数据完整性好,AOF 持久化是把每一次写操作,都追加文件,所以它的数据更完整。
  • 可读性高,AOF 是一个文本文件,相较于 RDB 的二进制文件来说,可读性要高。
  • 提供了多种持久化策略,Redis 提供了不同的 AOF 持久化策略,可以根据数据的安全和性能进行选择。

② 缺点

  • 文件较大,AOF 的文本文件相较于 RDB 的二进制文件要大,并且是文件追加的形式,所以数据恢复和重启的速度会受到影响。
  • 频繁的写入磁盘,AOF 需要每次进行追加文件,所以会给磁盘带来一定的写入压力。

2.2.1 AOF 持久化策略有哪些

AOF 有三种持久化策略:

  1. alwaysL:每条 Redis 操作命令都会写入磁盘,最多丢失一条数据。
  2. everysec:每秒钟写入一次磁盘,最多丢失一秒的数据。(AOF 默认的持久化策略)
  3. no:不设置写入磁盘的规则,根据当前操作系统来决定。Linux 默认 30s 写入一次磁盘。

3. 混合持久化是如何执行的(了解)

        混合持久化是在 AOF 重写的时候,把 Redis 的持久化数据,以 RDB 的格式写入到 AOF 文件开头,之后的数据再以 AOF 的格式追加到文件的末尾,它的文件格式如下:

混合持久化的执行流程图:


 

 

http://www.lryc.cn/news/143248.html

相关文章:

  • 【Vue】vue2预览显示quill富文本内容,vue-quill-editor回显页面,v-html回显富文本内容
  • 华纳云:ubuntu下nginx服务器如何配置
  • PTP时间同步例程
  • 【ES6】ES6遍历属性的方法
  • 【Web系列二十四】使用JPA简化持久层接口开发
  • Flink流批一体计算(16):PyFlink DataStream API
  • 软考高级系统架构设计师系列论文九十三:论计算机网络的安全性设计
  • 山西电力市场日前价格预测【2023-08-29】
  • 计算机毕设 基于深度学习的人脸专注度检测计算系统 - opencv python cnn
  • ES 7.6 - APi基础操作篇
  • 【Go 基础篇】Go语言循环结构:实现重复执行与迭代控制
  • RabbitMQ笔记-RabbitMQ基本术语
  • Git向远程仓库与推送以及拉取远程仓库
  • PostgreSQL+SSL链路测试
  • 服务器(容器)开发指南——code-server
  • C++贪吃蛇(控制台版)
  • Java之字符串实践
  • BM20 数组中的逆序对
  • 高德猎鹰轨迹查询相关接口
  • 整理总结新手开始抖音小店经营:常见问题及解决办法
  • 4-1-netty
  • hive 动态分区-动态分区数量太多也会导致效率下降只设置非严格模式也能执行动态分区
  • java八股文面试[JVM]——JVM调优
  • FairyGUI-Unity 异形屏适配
  • Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案
  • Spring复习:(58)<context:annotation-config/>的作用
  • “东方杯”英特尔oneAPI黑客松大赛—参赛经验分享
  • win10家庭版远程桌面补丁_rdp wrapper
  • 【C++设计模式】开放-封闭原则
  • vue+file-saver+xlsx+htmlToPdf+jspdf实现本地导出PDF和Excel