Redis AOF重写原原理

news/2024/7/7 20:06:15

在这里插入图片描述
在这里插入图片描述

重写aof之前
appendonly.aof.1.base.aof
appendonly.aof.1.incr.aof
appendonly.aof.manifest
重写aof 一次
appendonly.aof.2.base.aof 大小变化
appendonly.aof.2.incr.aof 大小o
appendonly.aof.manifest 大小不变

AOF文件重写并不是对原文件进行重新整理,而是直接读取服务器现有的键值对,然后用一条命令去代替之前记录这个键值对的多条命令
在这里插入图片描述
AOF重写触发机制:
①自动触发
通过redis.conf中
auto-aof-rewrite-percentage:100 # 默认100
auto-aof-rewrite-min-size:64mb # 默认redis会记录上次重写aof大小,默认配置是当aof文件大小是上次rewrite后大小的一倍且文件大于64mb时触发
②手动触发
bgrewriteaof

重写原理
  1. 在重写开始前,redis会创建一个重写子进程,这个子进程会读取现有的AOF文件,并将其包含的指令进行分析压缩并写入一个临时文件中
  2. 与此同时,主进程会将新接受到的写指令一边累积到内存缓存区中,一边继续写入到原有的AOF文件中,这样做是保证原有的AOF文件的可用性,避免在重写过程中出现意外
  3. 当 重写子进程 完成重写工作后,它会给父进程发一个信号,父进程收到信号后就会将内存中缓存的写指令追加到新的AOF文件中
  4. 当追加结束后,redis就会用新AOF文件来代替旧的AOF文件,之后再有新的写指令,就都会追加到新的AOF文件中
  5. 重写aof文件的操作,并没有读取旧的aof文件,而是将整个内存中的数据库内容用命令的方式重写了一个新的aof文件。

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1601021.html

相关文章

linux单机部署kafka

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、环境准备1.jdk版本2.kafka安装包3.可视化工具 二、安装部署1.配置文件修改2.启动 结尾 前言 Kafka是一个分布式的流处理平台。kafka主要是作为一个分布式的…

串联起深度学习的整体,以及其他领域

1、从模型拟合(收敛)数据关系出发: 2、f从简单的一层和两层连接开始,发展;被表示成 3、如何判断收敛:,即目标函数 4、如何界定任务:,表示什么?表示什么?&a…

大屏设计器项目部署详细步骤

一.项目效果图 二.部署步骤 1.nginx配置前端配置 #gzip on;server {listen 48009;server_name analyse;location / {root /home/designer/dist;index index.html;try_files $uri

百度将在世界大会上发布AI大模型文心4.0;OpenAI考虑自主开发AI芯片

🦉 AI新闻 🚀 百度将在世界大会上发布AI大模型文心4.0 摘要:百度将于10月17日在北京首钢园举办的百度世界大会上发布AI大模型文心4.0。据消息人士透露,文心4.0将是基础模型的大升级,核心能力将在逻辑推理、代码和数学…

爱国者的润学日记-十月

首先需要科学的准备面试和润。如何进行科学的准备工作呢? 高效的按照面试考察内容进行针对性训练,按 Machine-learning-interview准备保证处于专注的心态,如今互联网娱乐发达,之前即使比赛时我也是一边比赛一边看视频。之后准备面…

Android原生实现控件Ripple方案(API28及以上)

Android控件的水波纹效果的实现方式有很多种,比如使用ripple文件,这里介绍一下另一种Android原生的水波纹实现方案(API28及以上)。 我们利用RippleDrawable来实现一个带Ripple的Button。RippleDrawable可以通过xml 中定义 ripple…

leetcode 每日一题复盘(10.9~10.15)

leetcode 101 对称二叉树 这道题一开始想是用层序遍历,看每一层是否都对称,遇到一个问题就是空指针(子树为空)无法记录下来,同时会导致操作空指针的问题,因此需要修改入队条件,并用一个标志去表示空指针 vector<int>numv;for(int i0;i<size;i){TreeNode*frontque.fro…

OpenCV4-图像像素操作处理

OpenCV4-图像像素操作处理 1.图像像素统计最大值与最小值均值与标准差 2.两个图像间的像素操作两幅图像的比较运算两幅图像的逻辑运算 3.图像二值化4.LUT 1.图像像素统计 求取图像像素最大值、最小值、平均值、均方差等众多用于统计的函数。 最大值与最小值 void minMaxLoc(…