《微服务实战》 第二十三章 Redis RDB AOF

news2024/11/30 0:37:07

前言

Redis 提供了两种持久化机制:第一种是 RDB,又称快照(snapshot)模式,第二种是 AOF 日志,也就追加模式。

1、RDB

RDB 即快照模式,它是 Redis 默认的数据持久化方式,它会将数据库的快照保存在 dump.rdb 这个二进制文件中。
Redis 通过子进程遍历整个内存空间来获取存储的数据,从而完成数据持久化操作

1.1、手动触发策略

在这里插入图片描述
SAVE 命令会阻塞 Redis 服务器进程,直到 dump.rdb 文件创建完毕为止,在这个过程中,服务器不能处理任何的命令请求。
LASTSAVE 通常被用来检查 BGSAVE 命令是否执行完成。
BGSAVE命令是非阻塞式的,所谓非阻塞式,指的是在该命令执行的过程中,并不影响 Redis 服务器处理客户端的其他请求。

1.2、自动触发策略

自动触发策略,是指 Redis 在指定的时间内,数据发生了多少次变化时,会自动执行BGSAVE命令。
配置:

save 900 1
save 300 10
save 60 10000

RDB 数据持久化适合于大规模的数据恢复,并且还原速度快,如果对数据的完整性不是特别敏感(可能存在最后一次丢失的情况),那么 RDB 持久化方式非常合适。

2、AOF

AOF 被称为追加模式,或日志模式。AOF 机制默认处于未开启状态。
开启:
改配置:

#修改配置文件,把no改为 yes
appendonly yes
#确定存储文件名是否正确
appendfilename “appendonly.aof”

重启redis
aof文件重新瘦身设置

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb #表示触发AOF重写的最小文件体积,大于或等于64MB自动触发。

触发重写所需要的 aof 文件体积百分比,只有当 aof 文件的增量大于 100% 时才进行重写,也就是大一倍。比如,第一次重写时文件大小为 64M,那么第二次触发重写的体积为 128M,第三次重写为 256M,以此类推。如果将百分比值设置为 0 就表示关闭 AOF 自动重写功能。
AOF策略配置:
appendfysnc always/everysec/no
设置为always时,会极大消弱Redis的性能,因为这种模式下每次write后都会调用fsync(Linux为调用fdatasync)。
如果设置为no,则write后不会有fsync调用,由操作系统自动调度刷磁盘,性能是最好的。
everysec为最多每秒调用一次fsync,这种模式性能并不是很糟糕,一般也不会产生毛刺,这归功于Redis引入了BIO线程,所有fsync操作都异步交给了BIO线程。

3、RDB和AOF比较

RDB持久化AOF持久化
全量备份,一次保存整个数据库。增量备份,一次只保存一个修改数据库的命令。
每次执行持久化操作的间隔时间较长。保存的间隔默认为一秒钟(Everysec)
数据保存为二进制格式,其还原速度快。使用文本格式还原数据,所以数据还原速度一般。
执行 SAVE 命令时会阻塞服务器,但手动或者自动触发的 BGSAVE 不会阻塞服务器AOF持久化无论何时都不会阻塞服务器。

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

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

相关文章

【Flutter 工程】004-代码生成:functional_widget

【Flutter 工程】004-代码生成:functional_widget 文章目录 【Flutter 工程】004-代码生成:functional_widget一、概述1、Flutter 开发痛点2、functional_widget 函数小部件3、主页 二、基本使用1、安装 functional_widget2、传统写法3、运行结果4、代码…

App Inventor 2 连接打印机(Printer),自定义打印的实现

本教程主要分享App Inventor 2连接网络打印机进行自定义打印的思路及方法,这里只进行思路的讲解及关键步骤的效果演示,细节需自行完善。主要用到社交应用组件中的信息分享器组件。 打印App示意图 连接打印机教程(难度系数:★★&a…

值得尝试的Voyager Linux,没有Snap,出色的定制

一直以来我都不喜欢 Ubuntu GNOME 的默认外观,而且对Ubuntu强制使用Snap应用不是很喜欢,之前我用的是Ubuntu MATE这个发行版,直到我听说了Voyager Linux。今天特意安装试用了一下Voyager Linux 23.04,有几点功能我很喜欢&#xff…

适用于 Windows 电脑的 6 款最佳视频转换器

视频转换器可以帮助您转换和播放设备上不受支持的视频格式。减小视频文件大小、以通用格式组织所有视频或与他人共享文件以在不同设备上播放也很方便。 Windows 有很多视频转换器可供选择。有些是免费的,有些则提供适合专业用户的高级功能。在本指南中,…

Java程序设计入门教程--Java语言概述

目录 1.1 Java语言诞生与发展 1.2 Java语言的特点 1.3 运行机制与虚拟机 1.1 Java语言诞生与发展 Java语言的诞生最早可以追溯至1991年,那时称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境,其最初目的只是为了开发一种独…

完美解决接口测试难题,数据驱动带签名混合封装框架实现

目录 前言: 一、框架概述 二、框架架构 三、代码实现 四、实战步骤 五、总结 前言: 接口自动化测试是保障软件质量的重要手段之一,其自动化程度越高,越能有效提高软件测试效率。而接口自动化测试中,接口测试框架…

推荐 6 款还不错的文档协作工具~

你们团队是否正在寻找便捷丰富功能的文档协作软件? 文件协作软件帮助你和你的团队更有效地工作,并进行实时协作,为创新创造更多的空间。 但是,今天有数百种文档协作工具,你应该选择哪一种呢? 为了帮助你…

SpringSecurity的认证原理及如何自定义认证结合MyBatis替换原数据源

文章目录 一、自定义认证二、自定义登录界面三、自定义成功的处理1、前后端分离返回json 四、如何在前端显示异常1、传统的方法2、前后端分离返回错误的json 五、注销登录配置1、注销登录前后端不分离2、前后端分离的方法 六、登录⽤户数据获取1、SecurityContextHolder2、Secu…

【Netty】Netty 程序引导类(九)

文章目录 前言一、引导程序类二、AbstractBootStrap 抽象类三、Bootstrap 类四、ServerBootstrap 类五、引导服务器5.1、 实例化引导程序类5.2、设置 EventLoopGroup5.3、指定 Channel 类型5.4、指定 ChannelHandler5.5、设置 Channel 选项5.6、绑定端口启动服务 六、引导客户端…

STL-reverse_iterator 反向迭代器

回顾 对于STL中的容器,迭代器(iterator)是很重要的部分,同时迭代器也是STL六大组件之一,在之前我们实现vector和list中,我们已经对于迭代器有了初步的认识,为什么设计迭代器? 就是为了能像数组中的指针一样…

虹科干货|创新求变:虹科Redis企业版数据库驱动金融实时业务

BDO调查显示,43%的金融企业正计划全力加速数字化转型,互联网巨头与金融科技初创公司正在颠覆传统。”与此同时,客户行为、消费习惯和期望持续变化,以客户为中心的快速金融服务已成趋势,企业微服务、云原生应用亟需一组…

【算法题解】30. 全排列的递归解法

这是一道 中等难度 的题 https://leetcode.cn/problems/permutations/ 题目 给定一个不含重复数字的数组 n u m s nums nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1…

景点解说二维码怎么做?一键教你轻松生成二维码

现在的各种景区为了节省人工都会将景点的详细讲解做成二维码。通过手机扫码就能自助导览。那么,大家知道这种景区讲解二维码是怎么制作的吗? 一、什么工具能制作二维码图片? 机智熊二维码生成器(https://www.jzx.com/)…

什么是高性能计算实习生?做高性能计算有前景吗?

随着大模型和算力时代的大火,高性能计算实习的岗位越来越多了,各个大厂都在码人,百度、小米、字节、华为等等,也有很多网友晒出了面试一众知名芯片企业的面经和笔试题。 但是依然有很多朋友不清楚什么是高性能计算实习生&#xf…

搜索推荐系统[10]项目实战系列Z1:手把手教学(商品搜索系统、学术文献检索)语义检索系统搭建、召回排序模型详解。

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

每日一练 | 网络工程师软考真题 Day12

阅读以下说明,答复以下【问题1】至【问题3】 【说明】 某单位有1个总部和6个分部,各个部门都有自己的局域网。该单位申请了6个C类IP地址202.115.10.0/24~202.115.15.0/24,其中总部与分部4共用一个C类地址。现方案将这些部门用路由器互联&…

linuxOPS基础_操作系统概述

计算机发展史 第一台计算机是1946 年2 月14 日诞生日,第一台名称ENIAC。体积一间屋子的大小,重量高达28t。 第一代:1946 – 1958 > 12 年 (电子管) 第二代:1958 – 1964 > 6 年 (晶体管…

VR数字展厅——助力商企实现数字化营销展示

近年来,随着元宇宙、虚拟现实等概念逐渐进入大众视野,VR虚拟展厅也慢慢的发展成为了一种新的展示形式。VR数字展厅可以将展示场景复刻在线上,不再受限于线下环境,随着VR全景技术的高速发展,虚拟展厅帮助商企实现更具创…

一起CPU很闲,load却很大的案例分析

1、软硬件环境 硬件: 飞腾E2000Q 平台 软件: linux 4.19.246 2、问题现象 系统在上电后,无意中发现系统的平均负载很大,数值显示远超过cpu的承载能力。心想也没有跑什么业务程序呀,吓得赶紧运行top命令,瞅…

无人车端到端驾驶模型概述

摘要: 通常,端到端驾驶模型使用一个深度神经网络来完成这种映射,网络的所有参数为联合训练而得。这种方法因它的简洁高效而引人关注。 引言 在搭建无人车时,我和小伙伴们的主要工作是建立一个驾驶模型。所谓的驾驶模型是控制无人…