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

谈谈 Redis 持久化机制,RDB、AOF

谈谈 Redis 持久化机制,RDB,AOF
RDB:相当于对内存中的数据,拍一张数据快照。存储的是数据。
AOF:存储的是具体的命令。

企业实践中,实际是使用RDB结合AOF。
这个方法是在 Redis 4.0 提出的,该方法叫混合使用 AOF 日志和内存快照,也叫混合持久化。
如果想要开启混合持久化功能,可以在 Redis 配置文件将下面这个配置项设置成 yes:
aof-use-rdb-preamble yes
也就是说,使用了混合持久化,AOF 文件的前半部分是 RDB 格式的全量数据,后半部分是 AOF 格式的增量数据。
这样的好处在于,重启 Redis 加载数据的时候,由于前半部分是 RDB 内容,这样加载的时候速度会很快。
加载完 RDB 的内容后,才会加载后半部分的 AOF 内容,这里的内容是 Redis 后台子进程重写 AOF 期间,主线程处理的操作命令,可以使得数据更少的丢失。

Redis重启恢复数据的时候,优先加载AOF文件,因为AOF文件更能保证数据的完整性。
在 Redis 恢复数据时, RDB 恢复数据的效率会比 AOF 高,因为直接将 RDB 文件读入内存就可以,不需要像 AOF 那样还需要额外执行操作命令的步骤才能恢复数据。
用 AOF 日志的方式来恢复数据其实是很慢的,因为 Redis 执行命令由单线程负责的,而 AOF 日志恢复数据的方式是顺序执行日志里的每一条命令,如果 AOF 日志很大,这个「重放」的过程就会很慢了

重写AOF的时候,如果有 bgsave 命令,是不会执行的。
所以说,不要在业务繁忙的时候,进行AOF文件的重写。

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

相关文章:

  • 并发编程——2.基础概念及其它相关的概述
  • 20231019 filezilla 配置 Windows与Ubuntu文件传输
  • 一个.Net开发的轻量级SQLite数据库ORM
  • gRPC通信
  • 湖仓一体架构的特性
  • Python中使用包含_和__的变量名之间的区别
  • 019-第三代软件开发-Git提交规范
  • MTK APP实现动态修改logo和开机动画
  • Spring核心扩展点BeanDefinitionRegistryPostProcessor源码分析
  • C++实现AC自动机,剪枝、双数组压缩字典树!详解双数组前缀树(Double-Array Trie)剪枝字典树(Patricia Trie)
  • 防火墙规则顺序解决方案
  • ZC-CLS381RGB颜色识别+8x8点阵指示(完)
  • Stanford CS224N - word2vec
  • 华为云云耀云服务器L实例评测|windows系统3389防爆破之安全加固教程
  • 零基础如何自学C#?
  • Spring5学习笔记之整合MyBatis
  • GO 语言的方法??
  • 【JavaEE】 多线程-初阶
  • 小程序OCR身份证识别
  • 【算法学习】归并算法Merge Sort总结
  • Swager如何使用
  • DHorse v1.4.2 发布,基于 k8s 的发布平台
  • Java使用JJWT令牌
  • “第四十四天”
  • Unity Mono和.Net平台浮点算法的区别
  • 【SA8295P 源码分析 (二)】64 - QNX 与 Android GVM 显示 Dump 图片方法汇总
  • shell命令以及运行原理和lLinux权限
  • 斯坦福JSKarel编程机器人使用介绍
  • SpringBoot中pom.xml不引入依赖, 怎么使用parent父项目的依赖
  • 基于vue3+ts5+vue-router4+pinia2的PC端项目搭建教程