首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1900 篇文章

如何确保 Spring Boot 的定时任务只执行一次

1. 简介 在本篇文章中,我们将学习如何控制定时任务仅运行一次。定时任务是自动化诸如报告生成或发送通知等过程的常见做法。通常,我们设置这些任务定期运行。然而,在某些情况下,我们可能希望一个任务在未来的某个时间点仅执行一次,例如初始化资源或进行数据迁移等操作。 接下来将探讨在Spring…

ShardingJDBC 亿级数据的分表经验分享

前言 从入职以来写了一年的业务代码,突然接到来自领导的技术需求,说要给我们的借款、还款申请单分表。查看了一下借款表,只有几千万数据,再看还款表已经两亿多了,为了提高数据查询效率,降低数据库的压力。 确实可以考虑分表了。另外……这是入职一年以来第一个非业务需求! 设计方案 开始编码实现之前我们需要先做系统设计,主要是以下几块内容要跟领导开会对齐颗粒度!…

Spring Boot 中如何实现万级数据的高效批量插入

前言 随着Spring Boot 3的推出,开发者们迎来了诸多激动人心的新特性和改进。其中,针对批量数据插入的性能优化尤为突出。在数据密集型的应用场景中,实现高效的批量数据插入至关重要。本文将深入介绍Spring Boot 3中几种主流的批量插入方法,并通过具体的代码示例来展示如何实现万级数据的高效批量插入。 一、使用JDBC批处理 Spring…

MySQL 灾难恢复利器:ibd2sql

简介 ibd2sql 是一个使用纯 Python 3 编写的工具,用于离线解析 MySQL InnoDB 存储引擎的 IBD 文件,并将其转换为 SQL 语句。该工具无需任何第三方依赖包,使用 GPL-3.0 许可证发布。 优点 方便: 提取表的 DDL(数据定义语言)。 实用: 支持替换库名(–schema)和表名(–table),可以在 SQL…

Spring Boot 3.3 实现智能 License 生成与校验

在软件开发中,License(许可)管理是保障应用合法性和防止未授权使用的重要手段。有效的 License 生成与校验机制不仅能够保护开发者的知识产权,还能增强用户对产品的信任感。本文将深入探讨如何使用 Spring Boot 3.3 实现 License 的生成和校验。 为什么需要 License 管理? License…

MySQL V9.1.0 发布,又一个大可不必的版本

昨天 MySQL发布了个新版本V9.1.0,先看一下what‘s new里面写的东西。 1. Triggers no longer loaded by read-only operations 。简单说,就是之前的版本,加载触发器的时候是直接解析的。现在优化为,只加载元数据,并不启动解析。 等表上有更新语句,要使用触发器逻辑的时候再解析触发器内容。…

Spring Boot 将 jar 包和 lib 依赖分离,Dockerfile 构建镜像

前言 Spring Boot 是一个非常流行的 Java 开发框架,它提供了很多便利的功能,例如自动配置、快速开发等等。 在使用 Spring Boot 进行开发时,我们通常会使用 Maven 或 Gradle 进行项目构建。 本文将为您介绍如何使用 Maven 将 Spring Boot 项目打包成可执行的 JAR 文件,并将 JAR…

如何设计一个极简支付系统

第一步 当用户点击“购买”按钮时,会生成一个支付事件 (Payment Event) 并发送到支付服务。 第二步 支付服务 (Payment Service) 将支付事件存储在数据库中。 第三步 单个支付事件可能包含多个支付订单。比如,我们结账时会从多个卖家选择商品。这时,支付服务会拆分支付事件,每个支付订单都会调用一次支付执行服务 (Payment…