redis之AOF持久化过程

流程图
在这里插入图片描述
在redis.conf文件中配置appendonly为yes则开启aof持久化机制

#开启aof持久化,默认关闭为no
appendonly no

也可以在命令行开启
在这里插入图片描述

aof刷盘策略

#每个写操作都会同步刷盘。
appendfsync always
#执行命令后先放入aof缓冲区,每秒钟将缓冲区数据刷盘一次,redis的默认策略
appendfsync everysec
#不主动刷盘,由操作系统处理‌
appendfsync no

aof文件记录的是redis命令的追加操作,通常比rdb文件大得多,例如字符串类型对同一个key多次写操作最后一次才有意义,因此可以通过执行bgrewriteaof命令重写aof文件,达到用最少命令得到相同效果
在这里插入图片描述
也可以配置redis促发阈值时进行bgrewriteaof操作

#auto-aof-rewrite-percentage‌ 的默认值为100,
#这意味着当AOF文件的大小增长到上一次重写后大小的两倍时,
#Redis将自动触发AOF文件的重写操作。这个参数的设置有助于控制AOF文件的大小,
#避免其无限增长,从而优化文件的大小和性能‌
auto-aof-rewrite-percentage 100# 当前AOF文件超过64mb才会自动进行AOF重写
auto-aof-rewrite-min-size 64mb

aof持久化机制优点:
‌1:更高的数据安全性‌:AOF记录了所有的写操作,因此在大多数情况下,它可以提供比RDB更高的数据安全性‌
‌2:更好的灾难恢复‌:AOF文件是一个可读的文本文件,包含了所有的写操作,因此可以更容易地进行灾难恢复‌
‌3:实时持久化‌:AOF支持实时持久化,每次执行写命令时都会立即将操作追加到文件中,确保数据的实时性‌

aof持久化机制缺点:
‌1:更大的存储空间‌:由于AOF记录了所有的写操作,因此它的体积通常会比RDB大得多‌
2‌:较慢的恢复速度‌:由于需要逐条执行写操作来恢复数据,AOF的恢复速度通常会比RDB慢‌
‌3:更复杂的实现‌:AOF的实现相对于RDB来说更复杂,需要处理更多的细节问题,如命令追加、文件写入策略等‌

生产环境选用哪种持久化机制?
rdb和aof都开启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣.623. 在二叉树中增加一行(链式结构的插入操作)

Problem: 623. 在二叉树中增加一行 文章目录 题目描述思路复杂度Code 题目描述 思路 1.首先要说明,对于数据结构无非两大类结构:顺序结构、链式结构,而二叉树实质上就可以等效看作为一个二叉链表,而对于链表插入一个节点的操作是应…

【GoLang】切片的面试知识点

nil切片 和 空切片 nil切片是只声明但未初始化,没有分配底层数组的内存空间, 空切片是初始化了的,有分配数组内存,只是数组内没有元素。 二者都可以正常扩容、遍历。不会报错。 append 如何添加切片 append 可以增加切片&…

利用 IMU 估计人体关节轴向和位置 —— 论文推导

Title: 利用 IMU 估计人体关节轴向和位置 —— “Joint axis and position estimation from inertial measurement data by exploiting kinematic constraints” —— 论文推导 文章目录 I. 论文回顾II. 铰接关节的约束1. 铰接关节约束的原理2. 铰接关节约束的梯度3. 铰接关节约…

JVM图文入门

往期推荐 【已解决】redisCache注解失效,没写cacheConfig_com.howbuy.cachemanagement.client.redisclient#incr-CSDN博客 【已解决】OSS配置问题_keyuewenhua.oss-cn-beijing.aliyuncs-CSDN博客 【排坑】云服务器docker部署前后端分离项目域名解析OSS-CSDN博客 微服…

利用ETL工具进行数据挖掘

ETL的基本概念 数据抽取(Extraction):从不同源头系统中获取所需数据的步骤。比如从mysql中拿取数据就是一种简单的抽取动作,从API接口拿取数据也是。 数据转换(Transformation):清洗、整合和转…

MySQL数据库(五)索引

一 索引概述 1 介绍:MySQL索引是一种有序数据结构,它能够高效帮助数据库系统快速定位到表中的特定记录,从而显著提高查询效率。索引可以被看作是书的目录,通过它可以迅速找到所需的信息而不需要逐页翻阅整本书。 2 优缺点 二 索…

让文物“活”起来,以3D数字化技术传承文物历史文化!

文物,作为不可再生的宝贵资源,其任何毁损都是无法逆转的损失。然而,当前文物保护与修复领域仍大量依赖传统技术,同时,文物管理机构和专业团队的力量相对薄弱,亟需引入数字化管理手段以应对挑战。 积木易搭…

一文解释nn、nn.Module与nn.functional的用法与区别

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 …

HAL库外设宝典:基于CubeMX的STM32开发手册(持续更新)

目录 前言 GPIO(通用输入输出引脚) 推挽输出模式 浮空输入和上拉输入模式 GPIO其他模式以及内部电路原理 输出驱动器 输入驱动器 中断 外部中断(EXTI) 深入中断(内部机制及原理) 外部中断/事件控…

ChatGPT怎么回事?

纯属发现,调侃一下~ 这段时间deepseek不是特别火吗,尤其是它的推理功能,突发奇想,想用deepseek回答一些问题,回答一个问题之后就回复服务器繁忙(估计还在被攻击吧~_~) 然后就转向了GPT&#xf…

结合深度学习、自然语言处理(NLP)与多准则决策的三阶段技术框架,旨在实现从消费者情感分析到个性化决策

针对电商个性化推荐场景的集成机器学习和稳健优化三阶段方案。 第一阶段:在线评论数据处理,利用深度学习和自然语言处理技术进行特征挖掘,进而进行消费者情感分析,得到消费者偏好 在第一阶段,我们主要关注如何通过深度学习和自然语…

Websocket从原理到实战

引言 WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议,它使得客户端和服务器之间能够进行实时、双向的通信,既然是通信协议一定要从发展历史到协议内容到应用场景最后到实战全方位了解 发展历史 WebSocket 最初是为了解决 HTTP 协议在实时…

[LeetCode]day16 242.有效的字母异位词

242. 有效的字母异位词 - 力扣(LeetCode) 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词 示例 1: 输入: s "anagram", t "nagaram" 输出: true示例 2: 输入: s "rat"…

UnityShader学习笔记——动态效果

——内容源自唐老狮的shader课程 目录 1.原理 2.Shader中内置的时间变量 3.Shader中经常会改变的数据 4.纹理动画 4.1.背景滚动 4.1.1.补充知识 4.1.2.基本原理 4.2.帧动画 4.2.1.基本原理 5.流动的2D河流 5.1.基本原理 5.2.关键步骤 5.3.补充知识 6.广告牌效果 …

【Redis keys命令有什么问题?】

Redis keys命令有什么问题? 性能问题实际使用中的限制替代方案示例讲解Redis keys命令的问题示例替代方案:使用SCAN命令Java代码示例性能问题 时间复杂度:keys命令的时间复杂度是O(n),其中n是Redis中键的总数。这意味着,当Redis中存储的键数量非常大时,执行keys命令会遍历…

Python用langchain、OpenAI大语言模型LLM情感分析苹果股票新闻数据及提示工程优化应用...

全文链接:https://tecdat.cn/?p39614 本文主要探讨了如何利用大语言模型(LLMs)进行股票分析。通过使用提供的股票市场和金融新闻获取数据,结合Python中的相关库,如Pandas、langchain等,实现对股票新闻的情…

第19章 Future设计模式(Java高并发编程详解:多线程与系统设计)

1.先给你一张凭据 假设有个任务需要执行比较长的的时间,通常需要等待任务执行结束或者出错才能返回结果, 在此期间调用者只能陷入阻塞苦苦等待, 对此, Future设计模式提供了一种凭据式的解决方案。在我们日常生活中,关…

[Android] 全球网测-版本号4.3.8

[Android] 全球网测 链接:https://pan.xunlei.com/s/VOIV5G3_UOFWnGuMQ_GlIW2OA1?pwdfrpe# 应用介绍 "全球网测"是由中国信通院产业与规划研究所自主研发的一款拥有宽带测速、上网体验和网络诊断等功能的综合测速软件。APP突出六大亮点优势&#xff1a…

判断您的Mac当前使用的是Zsh还是Bash:echo $SHELL、echo $0

要判断您的Mac当前使用的是Zsh还是Bash,可以使用以下方法: 查看默认Shell: 打开“终端”应用程序,然后输入以下命令: echo $SHELL这将显示当前默认使用的Shell。例如,如果输出是/bin/zsh,则说明您使用的是Z…

MYSQL第四次

目录 题目分析 代码实现 一、修改 Student 表中年龄(sage)字段属性,数据类型由 int 改变为 smallint 二、为 Course 表中 Cno 字段设置索引,并查看索引 三、为 SC 表建立按学号(sno)和课程号&#xff…