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

深入 Redis 持久化:从原理到企业级应用的全景图

🧠 什么是 Redis 持久化?为什么需要?

Redis 是内存型数据库,默认所有数据都存在内存中,一旦断电,数据就会消失。为了避免重要数据丢失,Redis 提供了持久化机制,用于将内存中的数据保存到磁盘上。
简而言之:持久化 = 把内存数据“写死”到硬盘上,重启也能恢复。


🧱 Redis 提供了两种主流持久化机制:

持久化方式简称特点概览
RDB 快照RDB定时保存内存快照,恢复快,占空间小,但可能丢失数据
AOF 日志AOF每次写操作追加日志,数据最完整,但写入频繁、恢复慢
混合模式(5.0+)RDB+AOF综合两者优点,兼顾速度与完整性

在这里插入图片描述


🧾 一、RDB(Redis DataBase)——“快照持久化”

✅ 工作原理

RDB 是通过快照机制,周期性地将当前内存中的数据写入到一个 .rdb 文件中。

手动触发

可通过 save 和 bgsave 命令两个命令来手动触发 RDB 持久化操作:
在这里插入图片描述1、save 命令:会同步地将 Redis 的所有数据保存到磁盘上的一个 RDB 文件中。这个操作会阻塞所有客户端请求直到 RDB 文件被完全写入磁盘。

当 Redis 数据集较大时,使用 SAVE 命令会导致 Redis 服务器停止响应客户端的请求。

2、bgsave 命令:会在后台异步地创建 Redis 的数据快照,并将快照保存到磁盘上的 RDB 文件中。这个命令会立即返回,Redis 服务器可以继续处理客户端请求。

在 BGSAVE 命令执行期间,Redis 会继续响应客户端的请求,对服务的可用性影响较小。快照的创建过程是由一个子进程完成的,主进程不会被阻塞。是在生产环境中执行 RDB 持久化的推荐方式。

自动触发

以下场景会自动触发 RDB 持久化:

1、在 Redis 配置文件(通常是 redis.conf)中,可以通过 save <seconds> <changes> 指令配置自动触发 RDB 持久化的条件。这个指令可以设置多次,每个设置定义了一个时间间隔(秒)和该时间内发生的变更次数阈值。

save 900 1
save 300 10
save 60 10000

这意味着:

  • 如果至少有 1 个键被修改,900 秒后自动触发一次 RDB 持久化。
  • 如果至少有 10 个键被修改,300 秒后自动触发一次 RDB 持久化。
  • 如果至少有 10000 个键被修改,60 秒后自动触发一次 RDB 持久化。

满足以上任一条件,RDB 持久化就会被自动触发。

2、当 Redis 服务器通过 SHUTDOWN 命令正常关闭时,如果没有禁用 RDB 持久化,Redis 会自动执行一次 RDB 持久化,以确保数据在下次启动时能够恢复。

3、在 Redis 复制场景中,当一个 Redis 实例被配置为从节点并且与主节点建立连接时,它可能会根据配置接收主节点的 RDB 文件来初始化数据集。这个过程中,主节点会在后台自动触发 RDB 持久化,然后将生成的 RDB 文件发送给从节点。

Redis 在指定时间间隔 内将 整个数据快照二进制文件(dump.rdb) 的形式保存到磁盘。

🎯 优点

  • 恢复快:RDB 文件是二进制格式,载入速度快。
  • 节省磁盘空间:相比 AOF,RDB 文件更小。
  • 适合备份:可以定期备份 .rdb 文件。

⚠️ 缺点

  • 数据不实时:因为是定时保存,所以可能会丢失最近的数据(如崩溃前几秒的数据)。
  • 生成时影响性能:BGSAVE 会 fork 子进程,大内存下会有性能抖动。

📜 二、AOF(Append Only File)——“日志持久化”

✅ 工作原理

每当有数据修改命令(如 SETINCR)时,Redis 会将该命令追加写入 AOF 文件中,恢复时通过重新执行这些命令来重建数据集。

AOF 的主要作用是解决了数据持久化的实时性,目前已经是 Redis 持久化的主流方式。

AOF 的工作流程分为四个步骤:命令写入、文件同步、文件重写、重启加载。
在这里插入图片描述
1)当 AOF 持久化机制被启用时,Redis 服务器会将接收到的所有写命令追加到 AOF 缓冲区的末尾。

2)接着将缓冲区中的命令刷新到磁盘的 AOF 文件中,刷新策略有三种:

  • always:每次写命令都会同步到 AOF 文件。
  • everysec(默认):每秒同步一次。如果系统崩溃,可能会丢失最后一秒的数据。
  • no:在这种模式下,如果发生宕机,那么丢失的数据量由操作系统内核的缓存冲洗策略决定。

3)随着 AOF 文件的不断增长,Redis 会启用重写机制来生成一个更小的 AOF 文件:

  • 将内存中每个键值对的当前状态转换为一条最简单的 Redis 命令,写入到一个新的 AOF 文件中。即使某个键被修改了多次,在新的 AOF 文件中也只会保留最终的状态。
  • Redis 会 fork 一个子进程,子进程负责重写 AOF 文件,主进程不会被阻塞。
主进程(fork)  │  ├─→ 子进程(生成新的 AOF 文件)  │       │  │       ├─→ 内存快照  │       ├─→ 写入临时 AOF 文件  │       ├─→ 通知主进程完成  │  ├─→ 主进程(追加缓冲区到新 AOF 文件)  ├─→ 替换旧 AOF 文件  ├─→ 重写完成

4)当 Redis 服务器重启时,会读取 AOF 文件中的所有命令并重新执行它们,以恢复重启前的内存状态。

🎯 优点

  • 数据更完整:只要日志写成功,即可恢复出最完整的数据。
  • 更可控:可以通过 AOF 文件内容回放所有写操作。

⚠️ 缺点

  • 文件体积大:写一次就追加,文件越积越大。
  • 恢复慢:每次重启都要“回放”整个命令列表,耗时长。
  • 性能开销高:频繁写磁盘,I/O 压力大。

🔧 AOF 重写机制

为了解决文件体积大问题,Redis 提供 AOF Rewrite

  • 不影响原业务的情况下,后台生成一个新的精简 AOF 文件。
  • 原理:读取当前数据库状态,重新构建最简命令集合

🧬 三、混合持久化(Hybrid Persistence)

在 Redis 中,RDB 持久化是通过创建数据的快照来保存数据的,而 AOF 持久化则是通过记录每个写入命令来保存数据的。

两种方式各有优缺点。RDB 持久化的优点是恢复大数据集的速度比较快,但是可能会丢失最后一次快照以后的数据。AOF 持久化的优点是数据的完整性比较高,通常只会丢失一秒的数据,但是对于大数据集,AOF 文件可能会比较大,恢复的速度比较慢

在 Redis 4.0 版本中,混合持久化模式首先把 RDB 的数据结构写入文件,后面接着追加 AOF 的增量命令。
在这里插入图片描述
这样,当需要恢复数据时,Redis 先加载 RDB 文件来恢复到快照时刻的状态,然后应用 RDB 之后记录的 AOF 命令来恢复之后的数据更改,既快又可靠。

🎯 结合两者优势:

  • 启动恢复快(读取 RDB 部分);
  • 数据完整性强(用 AOF 补充最后的变更);
  • 文件体积可控。

🧪 四、实际应用中如何选择持久化方式?

场景推荐方案
只做缓存层(如热点缓存)关闭持久化(纯内存,重启不保留也没关系)
数据重要但变化频繁开启 AOF + 每秒写策略(everysec)
快速启动 + 数据安全性要求中等启用混合持久化,兼顾速度与安全
主从复制/集群结构主节点持久化,子节点可只开启 AOF 或关闭

📌 总结

  • RDB快照,快、轻、可能丢;适合冷备份、快速恢复
  • AOF日志,稳、全、写多;适合增量恢复、精确保障
  • 混合:推荐大多数业务使用,兼顾恢复速度和安全性
方式RDB(快照持久化)AOF(日志持久化)
数据安全性可能丢失最近数据(定期保存)数据丢失少(记录每个写操作)
存储方式二进制快照追加日志命令
文件大小小(压缩存储)大(记录所有操作)
恢复速度快(直接加载快照)慢(回放命令日志,执行记录的所有操作)
性能影响写入性能高(定期写入)写入性能慢(频繁记录日志)
适用场景灾难恢复、快速重启实时数据保存、避免数据丢失

相关文章:

深入 Redis 持久化:从原理到企业级应用的全景图

&#x1f9e0; 什么是 Redis 持久化&#xff1f;为什么需要&#xff1f; Redis 是内存型数据库&#xff0c;默认所有数据都存在内存中&#xff0c;一旦断电&#xff0c;数据就会消失。为了避免重要数据丢失&#xff0c;Redis 提供了持久化机制&#xff0c;用于将内存中的数据保…...

NET模式下如何配置虚拟机的IP地址为静态的

1.查看网关&#xff1a; 2.找到虚拟机的网络配置文件 cd ./etc/sysconfig/network-scripts/ vim ifcfg-ens33 3.修改配置 BROWSER_ONLY"no" IPADDR192.168.122.120 NETMASK255.255.255.0 GATEWAY192.168.122.2 DNS18.8.8.8 4.重启网路服务 sudo systemctl rest…...

VMWare Workstation Pro17.6最新版虚拟机详细安装教程(附安装包教程)

目录 前言 一、VMWare虚拟机下载 二、VMWare虚拟机安装 三、运行虚拟机 前言 VMware 是全球领先的虚拟化技术与云计算解决方案提供商&#xff0c;通过软件模拟计算机硬件环境&#xff0c;允许用户在一台物理设备上运行多个独立的虚拟操作系统或应用。其核心技术可提升硬件…...

磐石云智能语音客服系统——技术革新引领服务新体验

在人工智能技术飞速发展的今天&#xff0c;企业对于智能化客户服务的需求日益增长。磐石云智能语音客服系统凭借其前沿技术架构与深度场景适配能力&#xff0c;正在重新定义人机交互的边界。本文将深入解析该系统如何通过技术创新实现服务效率与体验的双重突破。 一、意图识别…...

什么是iPaaS?

在当今数字化时代&#xff0c;企业面临着日益复杂的IT环境和不断增长的业务需求。随着云计算、微服务、物联网等技术的快速发展&#xff0c;企业需要更加高效、灵活且安全的方式来进行数据集成和应用集成。集成平台即服务&#xff08;iPaaS&#xff09;应运而生&#xff0c;成为…...

Vue3 中 Pinia 持久化的全面解析和最佳实践

Vue3 中 Pinia 持久化的全面解析 一、Pinia 简介​ Pinia 是 Vue 的新一代状态管理库&#xff0c;它提供了简洁的 API&#xff0c;支持 Composition API&#xff0c;并且拥有良好的代码拆分和热更新能力。相比于 Vuex&#xff0c;Pinia 的代码结构更加扁平&#xff0c;易于理…...

蓝桥杯最后一天警告!!!

1.万能头文件 #include <bits/stdc.h> 2.一道题实在一点都不会&#xff0c;直接碰运气骗分 #include <bits/stdc.h> using namespace std;int main() {srand(time(0));printf("%d",rand()%101);//生成一个1到10之间的随机整数&#xff0c;并输出print…...

el-time-picker标签的使用

需求&#xff1a; 实现培训日期&#xff0c;用户可以选择某一天的日期&#xff0c;这个比较简单 <el-form-item label"培训日期" prop"startTime"><el-date-picker clearablev-model"form.startTime"type"date"placeholder…...

Mysql--基础知识点--85.1--Innodb自适应哈希索引

1. 自适应哈希索引的用途 InnoDB 的自适应哈希索引&#xff08;Adaptive Hash Index, AHI&#xff09;是 MySQL 数据库引擎中一项智能优化查询性能的功能。其核心作用如下&#xff1a; 加速等值查询 哈希索引通过哈希函数将键映射到固定位置&#xff0c;实现 O(1) 时间复杂度的…...

Matlab 考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制

1、内容简介 Matlab 200-考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

统一功能处理

SpringBoot统一功能处理 本节目表 1.掌握拦截器的使用&#xff0c;及其原理 2.学习统一数据返回格式和统一异常处理的操作 3.了解一些Spirng的源码 文章目录 SpringBoot统一功能处理前言一、拦截器是什么&#xff1f;二、使用步骤1.定义拦截器2.注册配置拦截器 三&#xff0c;适…...

LibreOffice Writer使用01去除单词拼写判断的红色下划线

这个软件还是非常有特色的&#xff0c;因为大家需要office的全部功能&#xff0c;常常忽略了这个软件的使用体验。 csdn不是特别稳定&#xff0c;linux也没有什么比较好的md编辑器&#xff0c;所以我选择这个软件来记录我的临时博客&#xff0c;原因无他&#xff0c;它可以保存…...

JAVA基础 - 高效管理线程隔离数据结构ThreadLocalMap

欢迎光临小站&#xff1a;致橡树 ThreadLocalMap 是 ThreadLocal 的核心底层数据结构&#xff0c;负责在每个线程中存储与 ThreadLocal 实例绑定的数据。它的设计目标是高效管理线程隔离数据&#xff0c;同时尽量减少内存泄漏风险。以下是其核心实现细节。 数据结构与设计目标…...

每日一题(小白)暴力娱乐篇25

由题意直知&#xff0c;要求将给定的字符串转为符合格式的字符串。首先我们来思考一下例如02/02/02这样的数字日月肯定不用进行修改&#xff0c;修改后需要加上对应的年份的前两位&#xff0c;题目要求1960年1月1日~2059年12年12月31日&#xff0c;&#xff08;对1960年至2059年…...

地表水-地下水耦合建模全景解析暨SWAT-MODFLOW地表与地下协同模拟及多情景专题应用

第一、模型原理与层次结构 1.1流域水循环与SWAT模型 1.2 地下水模拟与MODFLOW模型 1.3 SWAT-MODFLOW地表-地下耦合模型 1.4 QSWATMOD 插件与功能介绍 1.5 模型实现所需软件平台 第二、QGIS软件 2.1 QGIS平台 2.2 QGIS安装 2.3 QGIS界面认识 2.4 QGIS常见数据格式 2.…...

在线论坛系统

在线论坛 项目介绍项目使用技术介绍前端技术栈后端技术栈 项目运行步骤说明后端运行步骤前端运行步骤 项目使用说明用户端功能管理员端功能 部分功能说明运行截图用户端管理员端 系统源码 项目介绍 这是一个基于现代技术栈开发的在线论坛系统&#xff0c;提供用户交流、内容分享…...

webrtc pacer模块(一) 平滑处理的实现

Pacer起到平滑码率的作用&#xff0c;使发送到网络上的码率稳定。如下的这张创建Pacer的流程图&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。这篇文章介绍它的核心子类PacingController及Periodic模式下平滑处理的基本流程。平滑处理流程中还有…...

新能源车「大三电」与「小三电」

一、‌大三电系统‌ ‌动力电池‌ 作为整车的能量核心&#xff0c;目前主流类型包括三元锂电池&#xff08;NCM/NCA&#xff09;和磷酸铁锂电池&#xff08;LFP&#xff09;&#xff0c;前者能量密度高&#xff0c;后者安全性和成本优势显著‌。动力电池通过模组串联形成电池包…...

xlinx GT传输器学习

xlinx有2路refclk会输入到gtbank。此2路bank输入时钟是差分输入&#xff0c;经过IBUFDS_GTE2源语转换为单端。如下图。 从fpga外输入高速差分时钟。 差分时钟转换为单端。 单端时钟输入到gt_common模块 下图为gt内部结构图...

C++笔记之父类引用是否可以访问到子类特有的属性?

C++笔记之父类引用是否可以访问到子类特有的属性? code review! 参考笔记 1.C++笔记之在基类和派生类之间进行类型转换的所有方法 文章目录 C++笔记之父类引用是否可以访问到子类特有的属性?1.主要原因2.示例代码3.说明4.如何访问子类特有的属性5.注意事项6.总结在 C++ 中,…...

基于SSM框架的房屋租赁小程序开发与实现

概述 一个基于SSM框架开发的微信小程序房屋租赁管理系统&#xff0c;该项目实现了用户管理、中介管理、房源信息管理等核心功能。 主要内容 一、管理员模块功能实现 ​​用户管理​​ 管理员可对通过微信小程序注册的用户信息进行修改和删除操作&#xff0c;确保用户数据的准…...

大模型评估论文粗读“AGIEval: A Human-Centric Benchmark for Evaluating Foundation Models“

Zhong W, Cui R, Guo Y, et al. Agieval: A human-centric benchmark for evaluating foundation models[J]. arXiv preprint arXiv:2304.06364, 2023. 摘要翻译 评估大模型在处理人类层级的任务时的通用能力&#xff0c;是AGI发展和应用中至关重要的一环。传统的衡量标准通常依…...

程序化广告行业(76/89):行业融资全景剖析与代码应用拓展

程序化广告行业&#xff08;76/89&#xff09;&#xff1a;行业融资全景剖析与代码应用拓展 大家好&#xff01;在之前的文章里&#xff0c;咱们一起了解了程序化广告行业的发展趋势以及PC端和移动端投放的差异。今天&#xff0c;咱们接着深入学习&#xff0c;这次聚焦在程序化…...

网工基础 | 常见英文术语注解

原创&#xff1a;厦门微思网络 以下是一些网工专业常见的英文术语注解&#xff1a; IP Address&#xff08;Internet Protocol Address&#xff09; 互联网协议地址&#xff0c;是分配给连接到互联网的设备的唯一标识符&#xff0c;用于在网络中定位和通信。例如&#xff0c;“…...

【FPGA开发技巧】Modelsim仿真中,显示状态机的名称,而非编码数字

示例 被仿真的文件名为&#xff1a;cmd_handle.v&#xff0c;其中有r_st_current和r_st_next两个状态机变量。 该模块在tb文件中&#xff0c;被例化的名称为cmd_handle_u0 按照如下格式写&#xff1a;cmd_handle_u0.r_st_current 示例tb文件&#xff1a; timescale 1ns / 1…...

二分答案----

二分答案 - 题目详情 - HydroOJ 问题描述 给定一个由n个数构成的序列a&#xff0c;你可以进行k次操作&#xff0c;每次操作可以选择一个数字&#xff0c;将其1&#xff0c;问k次操作以后&#xff0c;希望序列里面的最小值最大。问这个值是多少。 输入格式 第一行输入两个正…...

Nginx 命令大全:Linux 与 Windows 系统的全面解析

Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;广泛应用于 Web 服务、负载均衡和反向代理等场景。本文将从 Linux 和 Windows 系统的角度出发&#xff0c;详细解析 Nginx 的常用命令&#xff0c;并区分两种系统之间的差异&#xff0c;帮助你高效地管理和维护 Nginx 服…...

我的计算机网络(总览篇)

总览--网络协议的角度 在一个庞大的网络中&#xff0c;该从哪里去了解呢&#xff1f;我先细细的讲一下我们访问一个网站的全部流程&#xff0c;当我们的电脑连上网络的时候&#xff0c;就会启动DHCP协议&#xff0c;来进行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…...

开源CMS的模块化设计和API接口如何具体影响其扩展性?

优秀的CMS系统都有自己主打的特点&#xff0c;开源CMS凭借其灵活性和低成本优势占据了市场主流地位&#xff0c;而模块化设计与API接口正是其扩展性的两大基石。本文将深入探讨这两大技术特性是如何影响cms的扩展性的。 一、模块化设计&#xff1a;功能解耦与生态繁荣的引擎 …...

【网络原理】网络通信基础

目录 一. 网络发展史 &#xff08;1&#xff09;局域网 &#xff08;2&#xff09;广域网 二. 网络基础知识 &#xff08;1&#xff09;IP地址 &#xff08;2&#xff09;端口号 &#xff08;3&#xff09;协议 &#xff08;4&#xff09;五元组 一. 网络发展史 网络的发…...

Win11系统 VMware虚拟机 安装教程

Win11系统 VMware虚拟机 安装教程 一、介绍 Windows 11是由微软公司&#xff08;Microsoft&#xff09;开发的操作系统&#xff0c;应用于计算机和平板电脑等设备 。于2021年6月24日发布 &#xff0c;2021年10月5日发行 。 Windows 11提供了许多创新功能&#xff0c;增加了新…...

新手宝塔部署thinkphp一步到位

目录 一、下载对应配置 二、加载数据库 三、添加FTP​ 四、上传项目到宝塔​ 五、添加站点​ 六、配置伪静态 七、其他配置 开启监控 八、常见错误 一、打开宝塔页面&#xff0c;下载对应配置。 二、加载数据库 从本地导入数据库文件 三、添加FTP 四、上传项目到宝塔…...

MCU如何查看系统有没有卡死

前言&#xff1a;在我们调试单片机的时候&#xff0c;经常会遇到系统非预期运行的状况。造成系统卡死的原因有很多&#xff0c;主要有&#xff1a;野指针&#xff0c;数组越界&#xff0c;死锁&#xff0c;还有一些while写入的一些逻辑错误。本文就如何排查这些问题&#xff0c…...

有哪些反爬机制可能会影响Python爬取视频?如何应对这些机制?

文章目录 前言常见反爬机制及影响1. IP 封禁2. 验证码3. 请求头验证4. 动态加载5. 加密与混淆6. 行为分析 应对方法1. 应对 IP 封禁2. 应对验证码3. 应对请求头验证4. 应对动态加载5. 应对加密与混淆6. 应对行为分析 前言 在使用 Python 爬取视频时&#xff0c;会遇到多种反爬…...

【辰辉创聚生物】提供上万种单抗/多抗及其偶联物

辰辉创聚生物致力于提供高质量的一抗&#xff08;Primary Antibodies&#xff09;、二抗&#xff08;Secondary Antibodies&#xff09;和对照抗体&#xff08;Control Antibodies&#xff09;&#xff0c;支持分子生物学、免疫学及生物医学科学领域的前沿研究。我们拥有超过40…...

Google Chrome Canary版官方下载及安装教程【适用于开发者与进阶用户】

谷歌浏览器&#xff08;Google Chrome&#xff09;以其高性能、强扩展性和良好的用户体验深受全球用户喜爱。在其多个版本中&#xff0c;Chrome Canary因具备最前沿的功能测试环境&#xff0c;成为开发者和技术探索者的首选。如果你希望第一时间体验Google Chrome最新功能&…...

BERT - BERT 模型综述

1. BERT的两个任务 &#xff08;1&#xff09;Pre-Training 预训练 Masked LM (MLM) - 让模型预测被隐藏&#xff08;Mask&#xff09;掉的token。 例如&#xff1a;输入“我喜欢吃[MASK]”&#xff0c;Label是“我喜欢吃苹果”&#xff0c; 模型需要预测出“苹果”。这种…...

Vue 大文件分片上传组件实现解析

Vue 大文件分片上传组件实现解析 一、功能概述 1.1本组件基于 Vue Element UI 实现&#xff0c;主要功能特点&#xff1a; 大文件分片上传&#xff1a;支持 2MB 分片切割上传实时进度显示&#xff1a;可视化展示每个文件上传进度智能格式校验&#xff1a;支持文件类型、大小…...

Matlab 电机激励模型和仿真

1、内容简介 Matlab 191-电机激励模型和仿真 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 clc close all clear Tn 165;%电机转矩 R 0.05;%定子半径 n0 1800;% 电机转速 i 2;%额定电流 Lmin 4.95;%最小电感 k 82.5; Nr 6;%转子级数 T 60/Nr/n0;%周期 b 0…...

GPU算力优化

GPU&#xff08;图形处理单元&#xff09;算力优化是提升计算性能的重要任务&#xff0c;在深度学习、科学计算等领域有重要意义。下面从硬件层面、软件层面和算法层面为你介绍一些优化方法&#xff1a; 硬件层面 选择合适的 GPU&#xff1a;不同的 GPU 在算力、显存、功耗等…...

微服务拆分的原则、时机、方法以及常见问题

前言# 在平常情况下&#xff0c;技术架构会随着业务规模大小、团队人数多少、技术债积累速度等动态变化。当然&#xff0c;引起架构变化最主要的因素还是业务发展速度。 在以前的单体架构到微服务架构演进历程 文章2 等文章中&#xff0c;有一张架构演进的图&#xff0c;如下…...

第十八天 - ELK日志体系集成 - 自定义Logstash插件 - 练习:分布式日志分析平台

前言 在分布式系统和微服务架构中&#xff0c;日志管理是监控系统健康、排查故障的核心环节。ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;作为业界领先的日志分析解决方案&#xff0c;能够实现日志采集、处理、存储与可视化的全链路管理。本文将手把手带你掌…...

HBuilderX中uni-app打包Android(apk)全流程超详细打包

一、Android生成打包证书 1、Android平台签名证书(.keystore)生成指南_android 签名生成-CSDN博客&#xff08;如果不上架应用商店可以跳过&#xff0c;可以使用云端证书&#xff09; 二、打开manifest.json配置基础设置 三、配置安卓应用图标 四、配置安卓启动页图片 五、…...

CTF web入门之命令执行

web29 文件名过滤 由于flag被过滤,需要进行文件名绕过,有以下几种方法: 1.通配符绕过 fla?.* 2.反斜杠绕过 fl\ag.php 3.双引号绕过 fl’‘ag’.php 还有特殊变量$1、内联执行等 此外 读取文件利用cat函数,输出利用system、passthru 、echo echo `nl flag.php`; ec…...

安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量

行业特点&#xff1a;产品客制化、依赖人工&#xff0c;工程量大、细节多&#xff0c;验收困难 户外通讯机房无疑是现代工业社会的“信息心脏”&#xff0c;承载着信息交换、传输与处理的重任。建设一座质量过关的户外通讯机房是保障通信稳定运行的基石。 通常建设一个户外通信…...

学习MySQL的第八天

海到无边天作岸 山登绝顶我为峰 一、数据库的创建、修改与删除 1.1 引言 在经过前面七天对于MySQL基本知识的学习之后&#xff0c;现在我们从基本的语句命令开始进入综合性的语句的编写来实现特定的需求&#xff0c;从这里开始需要我们有一个宏观的思想&…...

ESP8266 采集 DHT11 和 DS18B20 温湿度数据 MQTT 上传至 Home Assistant

ESP8266 采集 DHT11 和 DS18B20 温湿度数据 MQTT 上传至 Home Assistant DHT11 采集 DHT11 温湿度数据并通过 MQTT 联网上传至 Home Assistant 智能家居平台&#xff1b; Arduino 代码 #include <ESP8266WiFi.h> #include <PubSubClient.h> #include <Ardui…...

三、TorchRec中的Optimizer

TorchRec中的Optimizer 文章目录 TorchRec中的Optimizer前言一、嵌入后向传递与稀疏优化器融合如下图所示&#xff1a;二、上述图片的关键步骤讲解&#xff1a;三、优势四、与传统优化器对比总结 前言 TorchRec 模块提供了一个无缝 API&#xff0c;用于在训练中融合后向传递和…...

操作系统 4.1-I/O与显示器

外设工作起来 操作系统让外设工作的基本原理和过程&#xff0c;具体来说&#xff0c;它概括了以下几个关键步骤&#xff1a; 发出指令&#xff1a;操作系统通过向控制器中的寄存器发送指令来启动外设的工作。这些指令通常是通过I/O指令&#xff08;如out指令&#xff09;来实现…...

Qt 5.14.2 入门(三)基本知识理解

目录 一、新建项目后生成的三个文件的作用和内容1、.h文件&#xff1a;头文件&#xff08;如mainwindow.h&#xff09;2、.cpp文件&#xff1a;源文件&#xff08;如mainwindow.cpp&#xff09;3、main.cpp&#xff1a;主程序 二、信号和槽机制1、信号(Signal)2、槽(Slot)3、连…...