持久化-AOF 重写工作原理|学习笔记

简介: 快速学习持久化-AOF 重写工作原理

开发者学堂课程【Redis 入门到精通(进阶篇)持久化-AOF 重写工作原理】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/765/detail/13427


持久化-AOF 重写工作原理

 

一、AOF 工作流程

1、always

image.png

执行指令 set 进入主进程去执行 set,同时启动 fork 子进程,把信息写入 aof 文件(原始没有重写的 aof 文件)中。

2、everysec

image.png

配置每秒,主进程执指令 set 后,在子进程中会装入 aof 缓存区中(丢失的数据即为这里的数据),当时间到达后,会放入 aof 文件中。满足条件为每秒。

image.png

3、基于 everysec 开启重写

基于 everysec 开启重写,执行指令set进入主进程,fork 除了有 aof 缓存区外,还有 aof 重写缓存区(专门用来重写),当保存了 aof 重写缓存区的数据后,一旦执行重写 bgrewriteaof 后,会创建自己的主进程,对应子进程 fork 来完成重写操作,接下来重写一个新的 aof 文件。数据在 aof 重写缓存区中,最终进行合并替换,替换掉原来的文件。若用配置激活,执行这个命令是谁执行的,配置如何激活参照两个条件(以前课程有提及)。

相关文章
|
Java Spring
如何优雅的关闭线程池?
使用自创建的线程跟使用线程池有啥区别?提到线程池是不是脑海中闪现了创建线程池的那几个核心参数、工作流程、线程池的复用、拒绝机制、缓冲机制等,这些理论知识点想必也牢记许久了。虽然线程池支持在虚拟机进程接受到退出命令后可以进行shutdown。那么shutdown跟线程中断又有什么区别?在运行中的线程能否直接kill掉?我们能否监听关闭事件进行补偿?
2949 1
如何优雅的关闭线程池?
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
1188 3
|
安全 Java 数据库
三更草堂 Spring Security学习总结(思路整理)
Spring Security学习总结(思路整理)
|
人工智能 自然语言处理 搜索推荐
|
Python
【Python • 图片识别】pytesseract快速识别提取图片中的文字
【Python • 图片识别】pytesseract快速识别提取图片中的文字
1028 0
|
Kubernetes API Docker
深入浅出:使用Docker容器化部署微服务架构
在本文中,我们将探索如何利用Docker容器技术实现微服务架构的高效部署与管理。不同于传统的摘要方式,我们将采用一个故事化的场景引入,设想在一个快速发展的互联网公司中,随着业务的扩张,传统的单体应用逐渐变得难以维护和扩展。开发团队决定采用微服务架构来解决这一问题,而Docker作为容器化技术的佼佼者,被选为部署和管理微服务的关键工具。文章将详细介绍Docker的基本概念、微服务架构的优势,以及如何结合两者进行高效的应用部署和管理。
213 0
|
监控 Java Linux
Java程序性能分析:内存
开发Java项目过程中,难免会碰到一些 性能 问题,这时候就需要一些工具,帮忙排查。本文主要介绍 JDK自带的上古神器 jstat、jmap,另简单介绍 MAT、gceasy、HeapDump 等
1218 5
|
机器学习/深度学习 编解码 并行计算
我的NVIDIA开发者之旅——优化显卡性能
我的NVIDIA开发者之旅——优化显卡性能
707 0
我的NVIDIA开发者之旅——优化显卡性能
|
运维 网络安全
"运维工程师全能型工具?MobaXterm“瑞士军刀”,你值得拥有 "
"运维工程师全能型工具?MobaXterm“瑞士军刀”,你值得拥有
"运维工程师全能型工具?MobaXterm“瑞士军刀”,你值得拥有 "