自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 收藏
  • 关注

原创 IDEA 常用统一设置

使用 IDEA 常用的统一设置。

2026-02-04 12:00:12 295

原创 【04】微服务系列 之 Nacos 注册中心(服务发现)

微服务系列 之 Nacos 注册中心 服务发现

2026-01-30 22:08:20 913

原创 【03】微服务系列 之Nacos 注册中心(服务注册)

微服务系列 Nacos 注册中心 功能 进行服务注册

2026-01-30 21:19:04 501

原创 【02】微服务系列 之 初始化工程

服务器 Demo 工程初始化.

2026-01-29 21:35:31 967

原创 【01】微服务系列之 Nacos 安装部署

Nacos 2.3.2 版本 安装部署

2026-01-29 21:05:11 265

原创 【07】SpringBoot3 MybatisPlus 删除(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。

2026-01-29 19:54:27 528 1

原创 MySQL 意向锁为什么不会阻塞行锁之间的并发?

在 MySQL InnoDB 锁体系中,很多人第一次看到**意向锁(Intention Lock)**都会产生一个误解:实际上:✅ 意向锁不会阻塞行锁之间的并发✅ 意向锁只参与表锁冲突判断❌ 它不是用来控制行并发的锁本文从设计背景 → 锁模型 → 执行流程 → 本质原理 → 生产实践一步一步讲清楚。意向锁存在的目的只有一个:而不是:因为 InnoDB 支持:这叫:假设有人执行:数据库必须检查:如果没有意向锁,就只能:复杂度:有意向锁后只需要看:复杂度:这就是意向锁存在的根本原因。本质是一

2026-01-29 16:25:04 632

原创 【06】SpringBoot3 MybatisPlus 修改(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。/*** 根据ID 批量更新* @param entityList 实体对象集合* @param batchSize 插入批次数量*/@Test// 生成批量测试数据.i <= 303;i++) {// 此处省略其他属性的 set 方法clientEntity.setNickName("批量-测试姓名" + i);// 默认批量提交数量。

2026-01-28 22:46:23 770

原创 【05】SpringBoot3 MybatisPlus 添加(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。查看官网 API ,支持自定义批量提交的数量参数。/*** 插入(批量)* @param entityList 实体对象集合* @param batchSize 插入批次数量*/@Test// 生成批量测试数据.i < 310;i++) {// 此处省略其他属性的 set 方法clientEntity.setNickName("测试姓名" + i);

2026-01-28 22:15:56 633 1

原创 【04】SpringBoot3 MybatisPlus 查询(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。对于即将过期的方法将不再举例说明。

2026-01-27 17:17:04 965 1

原创 【03】SpringBoot3 MybatisPlus BaseMapper 源码分析

21.0.103.5.153.2.4零 XML语义清晰扩展性极强逻辑删除 / 填充高度统一BaseMapperJava 接口设计ORM 框架边界工程级 CRUD 抽象能力。

2026-01-27 14:24:17 583 1

原创 【02】SpringBoot3 MybatisPlus 加入日志功能

SpringBoot3 MybatisPlus 加入日志功能

2026-01-26 00:05:47 122 2

原创 【01】SpringBoot3 MybatisPlus 工程创建

SpringBoot3 MybatisPlus 工程创建

2026-01-25 23:46:31 434

原创 application.yml 文件无 Spring 图标 + 无自动提示

使用 IDEA 构建的 SpringBoot 项目,其配置文件(如截图)图标不对,而且,在配置文件中撰写相关配置时,也没有自动提示。

2026-01-25 23:03:31 124 1

原创 使用 perf + FlameGraph 生成火焰图(Flame Graph)笔记

火焰图是一种CPU 采样分析可视化图表程序在CPU 上花时间最多的函数函数的调用栈关系哪些路径是性能瓶颈(Hot Path)perf 负责采样,FlameGraph 负责可视化,火焰图让 CPU 热点一眼可见。

2026-01-18 09:12:45 770

原创 MySQL Next-Key Lock 锁表事故全拆解(从现象到根治)

MySQL Next-Key Lock 锁表事故分析:在高并发订单系统中,由于对非唯一索引status执行FOR UPDATE查询,触发了Next-Key Lock机制,导致锁范围扩大至整个status=0区间及间隙。即使使用LIMIT 1,锁范围也不会缩小,最终阻塞所有相关操作,造成"锁表"假象。解决方案包括:改用唯一索引、降级隔离级别、两段式处理或使用SKIP LOCKED(MySQL 8+)。核心教训:必须明确了解InnoDB的锁机制,特别是非唯一索引+RR隔离级别下的锁范围。

2025-12-28 20:27:08 878

原创 CentOS 容器安装部署

操作系统版本如下:31”

2025-12-28 02:12:50 553

原创 MySQL 数据库 MVCC 与锁如何联手解决脏读、不可重复读、幻读

脏读和不可重复读是“看不看历史版本”的问题,幻读是“新数据能不能出现”的问题,前者靠 MVCC,后者必须靠锁。

2025-12-26 17:06:18 881

原创 3 分钟搞懂 Next-Key Lock:原理、触发场景

Next-Key Lock 是 InnoDB 在可重复读(RR)隔离级别下,对当前读加的“行 + 间隙”锁,既锁住已有记录,也锁住可能插入新记录的位置,从而防止幻读。Next-Key Lock 是 InnoDB 为了在 RR 隔离级别下防止幻读,对当前读加的“行 + 间隙”组合锁。

2025-12-26 16:48:19 918

原创 InnoDB Gap Lock 避坑指南:为什么查不到数据也会锁表?

那么存在的“间隙”是:👉 Gap Lock 锁的是这些“区间”📌 Gap Lock 只管“插不插得进”,不管“改不改得动”1️⃣ InnoDB 引擎2️⃣ RR(Repeatable Read)隔离级别3️⃣ 当前读(UPDATE / DELETE / SELECT … FOR UPDATE)🔒 锁住:👉 阻止插入 age=21、22…🔒 锁住:其中 就是 Gap Lock🔒 锁住:📌 即使一行都没查到,也可能锁一大片👉 看起来像“表被锁”👉 性能优先

2025-12-26 16:38:03 737

原创 一文讲透 MVCC:普通 SELECT 何时不加锁?(RC/RR 实战篇)

普通查快照,不锁;改数据、要最新,必锁;FOR UPDATE / SERIALIZABLE,锁必到。

2025-12-25 16:21:43 1066

原创 MySQL 数据库 Read View 详解

Read View 通过四个字段,精确决定了事务在快照读时能看到哪一个版本的数据。

2025-12-25 10:10:50 719

原创 MySQL 数据库 隔离级别 详解

MySQL 的隔离级别,是通过 MVCC 和锁机制,在一致性与并发性能之间做出的不同权衡。

2025-12-25 09:27:02 884

原创 MySQL 数据库 MVCC 机制

MVCC 是 InnoDB 通过保存数据的多个版本,让读操作读取历史版本,从而避免读写冲突、提升并发性能的一种机制。高并发减少锁读写不互斥MVCC 是 InnoDB 通过 undo log + Read View,让普通 SELECT 在不加锁的情况下读取一致性数据的核心机制。

2025-12-24 17:47:03 750

原创 MySQL 数据库 意向锁 详解(白话篇:一看就懂)

意向锁是 InnoDB 自动维护的表级锁,用来声明事务将对表中的某些行加行锁,从而在加表锁时避免扫描所有行锁,是多粒度锁机制的关键。

2025-12-24 16:43:40 1094

原创 MySQL数据库 意向锁(初篇)

一、为什么需要意向锁?二、意向锁的类型三、意向锁的工作机制1️⃣ 加行锁前,先加意向锁(表级)2️⃣ 锁兼容关系(重点)四、举例说明(非常重要)示例 1:行锁 + 意向锁示例 2:表锁检测冲突五、意向锁的特点总结六、一句话总结在MySQL(主要是 InnoDB 存储引擎)中,意向锁(Intention Lock)是一种表级锁,用来表示事务打算在表中的某些行上加什么类型的行锁,从而提高锁冲突判断的效率。✅ 意向锁是表级锁✅ 由 InnoDB自动加锁与释放✅ 不会阻塞行锁之间的并发✅ 用于。

2025-12-24 16:30:36 342

原创 深入剖析GaussDB行级排他锁阻塞链:模拟、排查与实战

本文深入剖析GaussDB行级排他锁阻塞链的形成机制与排查方法。首先通过创建测试表和数据,模拟4级行级锁阻塞链场景,展示会话间"持有锁-请求锁"的链式依赖关系。重点介绍排查锁阻塞链的核心SQL脚本,该脚本通过关联pg_locks和pg_stat_activity视图,可精准定位阻塞源头。最后给出两种解决方案:正常提交/回滚事务或终止阻塞源进程,并针对业务开发、数据库配置和日常监控提出实用建议,帮助开发者快速定位和解决锁阻塞问题,提升数据库性能。

2025-12-05 13:05:57 1046

原创 Docker部署Redis全指南:从基础到生产环境配置

基础部署虽然简单,但命令行参数配置不够灵活,且数据默认存储在容器内部,容器删除后数据会丢失。生产环境中,我们更推荐使用“自定义配置文件+数据卷挂载”的方式,实现配置灵活管理和数据持久化。# 绑定地址:Docker环境中建议绑定0.0.0.0,允许容器内部访问# 保护模式:设置密码后可关闭,允许外部连接# 端口号:默认6379,可根据需求修改port 6379# 访问密码:设置强密码,替换为自己的密码# RDB持久化配置:满足以下条件时自动生成快照。

2025-11-23 05:34:22 1033

原创 EMQX 5.8.6 客户端认证实战:内置数据库的高效配置指南

数据查询与比对:EMQX从内置数据库中查询与请求中客户端ID或用户名匹配的认证记录,将请求中的密码(经过加密处理后)与数据库中存储的加密密码进行比对。添加认证方式:点击页面右上角「创建」按钮,在弹出的「创建认证」对话框中,选择「内置数据库」作为「认证方式」,点击「下一步」。进入客户端认证配置页面:登录Dashboard后,点击左侧导航栏「访问控制」→「客户端认证」,进入客户端认证管理页面。(1) 账号类型:支持「密码认证」和「客户端ID认证」,可根据需求选择(建议选择「密码认证」,安全性更高)。

2025-11-22 20:14:54 1235

原创 Docker 快速部署 EMQX:MQTT Broker 从安装到运维全指南

设备连接数、消息收发统计;主题、订阅关系管理;客户端在线状态监控;系统配置(如 MQTT 协议参数、安全策略等)。

2025-11-21 13:09:21 1764

原创 容器指南大纲

序号概述文章链接1Docker 基础篇入门篇:零基础 | 一入 Docker 深似海2容器存储配置Docker 镜像存储路径详解:查看与修改全指南3容器镜像制作(commit)Docker 镜像构建:手把手教你用 docker commit 定制专属镜像4容器镜像制作(Dockerfile)从零了解 Dockerfile:构建属于你的 Docker 镜像5容器基础维护Docker 容器的基本概念与操作指南6镜像&容器区别Docker 镜像与容器的区别与联系7容器体系结构机制。

2025-11-21 12:52:53 320

原创 DBeaver 配置 IOTDB 数据库

命令执行完成后,所有依赖包均在 lib 文件夹中,对此文件夹压缩成 zip 包(后续上传此 zip 包)(1) 在“设置”栏中的 驱动名称:自定义一个名称,这里命名为 IOTDB。命令执行后,会自动下载所有相关依赖包,最后日志输出。这里是找到 iotdb 数据库的驱动包添加进来;最后,在 驱动类 这个下拉框中选中主类,即可。一键下载「全量依赖包」(避免手动找包出错),后续新增一个 IOTDB 的驱动。点击 左上角 的新建图标,按钮,会自动加载主类;在这个文件夹中,新建。

2025-11-20 16:06:11 456

原创 Docker 安装 Etcd 超详细教程:从部署到验证,避坑指南全收录

生产环境为保证高可用,需部署 Etcd 集群(至少 3 个节点)。核心思路是通过# 节点 1(192.168.88.31)启动命令# 节点 2(192.168.88.32)启动命令(仅修改名称和 IP)# 节点 3(192.168.88.33)启动命令(同理修改)Docker 安装 Etcd 的核心流程为「环境检查 → 命令部署 → 服务验证」,其中最易踩坑的是命令换行格式和参数配置环境先行:确保 Docker 服务正常运行,提前检查端口占用情况;命令可靠。

2025-11-19 11:37:16 1454

原创 解决 RHEL 7.5 安装 Docker 报错:依赖包缺失与 YUM 源失效问题

系统兼容性:RHEL 7.x 与 CentOS 7 归档源完全兼容,无需修改内核,可放心使用。安全提醒:RHEL 7.5 和 CentOS 7 均已停止官方更新,存在安全风险,建议长期使用时迁移到 RHEL 8/9 或 CentOS Stream 系列。源选择建议:优先使用阿里云、华为云等国内归档源,速度优于官方海外源。依赖包处理:Docker 安装的核心依赖需从 EPEL 源获取,务必确保 EPEL 源配置正确。

2025-11-19 11:15:13 977

原创 Windows 下启用 WSL(Linux之Ubuntu)

在“程序”弹框中:点击“启用或关闭 Windows 功能”,进一步打开 Windows 功能弹框。安装完成后,首次启动会要求设置用户名和密码,完成初始化(必须执行,否则后续步骤可能出错)。执行安装命令后,默认是安装在 C 盘暂未其他参数,可直接安装在别的盘符。打开 Windows 终端(命令行窗口),以安装 Ubuntu 为例。确定之后等待完成,之后等待电脑配置完成,最后重启电脑。删除 C 盘上的默认安装(数据已导出,可安全删除)等待加载,及安装完成后,需要重启电脑。3. 注销默认安装的发行版。

2025-11-17 22:57:14 925

原创 深入解析 ZooKeeper 3.5.7 配置文件 zoo.cfg —— 每个参数的用途与场景详解

✅性能优化分离dataDir与dataLogDir选择 SSD 存储日志调整 tickTime 与 syncLimit 平衡延迟与容错✅安全与维护开启自动清理使用奇数节点监控 Leader 切换与会话数✅版本特性利用 3.5.7 动态配置提高扩展性支持安全认证与管理接口。

2025-11-13 16:26:44 1191

原创 Zookeeper 基础入门与应用场景解析

Zookeeper 并不是一个通用的数据库,而是一个面向分布式协调的核心组件。无论是配置同步、服务注册、锁机制还是主节点选举,它都能提供可靠的一致性保证。如果把分布式系统比作一个庞大的乐团,那么 Zookeeper 就是那个指挥家 —— 让每个成员在正确的节拍中协同工作。

2025-11-13 16:10:52 1111

原创 管理容器的资源:深入理解 Cgroup 机制

功能Cgroup 控制项Docker 参数CPUcpu.max--cpus内存memory.max--memory进程数pids.maxI/Oio.max✅Cgroup 是容器资源管理的核心基础✅ Docker、Kubernetes 都是基于它构建的高层封装✅ 理解 Cgroup = 理解容器资源管理的本质。

2025-11-01 16:29:46 825

原创 深入理解 Cgroup:Linux 资源控制详解与实战

资源类型设置方法结果💾 内存超出即被 OOM 杀死🧮 CPU限制在 50% CPU 使用率👥 进程数无法创建新进程(返回 fork: Resource temporarily unavailable)

2025-11-01 10:34:19 963

原创 解锁谷歌浏览器插件技能:打包与导入全攻略

① 先在「扩展程序管理页面」禁用并重新启用插件,确保插件正常运行;(提示:“AppData"是隐藏文件夹,需先在文件夹选项中开启"显示隐藏的文件、文件夹和驱动器”),打开该路径后,找到以刚才记录的「插件ID」命名的文件夹;:开启开发者模式后,「扩展程序管理页面」的每个插件都会显示「名称+ID」的组合信息,按插件名称排序后,即可快速找到目标插件的ID;:打开Chrome的「扩展程序管理页面」,点击「加载已解压的扩展程序」按钮,在弹出的文件夹选择窗口中,选中刚才解压好的插件文件夹,点击「选择文件夹」;

2025-10-31 16:59:18 1343

1MySQL数据库-创建测试数据

自动生成测试数据页面.

2024-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除