- 博客(101)
- 资源 (1)
- 收藏
- 关注
原创 基于 SpringBoot + Redis (Lettuce) + RabbitMQ 实现「Redis 预扣库存 + 异步同步数据库」
RedisDECR拦截绝大部分超卖兜底防止异步重复扣减保证最终一致性。
2026-05-29 00:55:10
343
原创 MySQL 慢查询优化及IP地址
就是每条 SQL 的执行时间(单位:秒)。你重点看第 2 条,就是你刚才那条查询的耗时。执行后,下方结果栏会出现一张表,里面就有每条 SQL 的执行时间!执行后,右下角会提示 “执行成功”,但暂时看不到数据。:先拿少量主键定位,再精准匹配,避免大批量数据跳过。前提:主键 id 有序、查询排序字段为索引字段。执行后,会显示查询结果,但这一步还看不到耗时。只查需要的字段,速度快 10~100 倍。会让索引失效,走全表扫描。正面(拆分走索引,快),打开 SQL 编辑器。反面(索引失效,慢)
2026-05-20 01:25:15
440
原创 Redis Sorted Set(有序集合)详解
最关键的区别 :每个元素都带有一个 score(分数) ,Redis 会自动按 score 排序。│ 12500 │ user:张三 │。│ 10800 │ user:李四 │。│ score(访问量) │ member(商品ID) │。│ score(积分) │ member(用户) │。- 元素有序(按score)
2026-05-19 00:59:33
385
原创 MyBatis-Plus 全套写法包括Mapper 层、Service 普通链式和Service Lambda 链式
Lambda 是 Java 8 自带的一种【简化代码的语法】,不是框架,不是工具,就是一种简写方式。注意:Mapper 没有批量新增方法,批量只用 Service。Wrapper 就是 MyBatis-Plus 给你封装好的「Lambda 版查询构造器。Lambda 版更新构造器。
2026-05-02 01:47:51
192
原创 Redisson库盘点加锁
1. Stock 实体类(库存表)2. CheckOrder 实体类(盘点单)3. StockMapper 接口6. Service 接口。
2026-04-21 14:51:54
51
原创 若依框架原有页面功能进行了点位管理模块完整改造(3)
改造内容:定义点位查询参数、区域 / 合作商下拉列表变量// 查询参数});// 下拉列表数据。
2026-04-20 23:55:21
74
原创 若依框架原有页面功能进行了多方面优化与完善(1)
本次针对若依(RuoYi)框架原有页面功能进行了多方面优化与完善。在界面交互上,为表格新增状态展示列并采用标签样式优化视觉效果,在操作列添加详情查看按钮,实现数据只读查看与编辑操作分离;新增独立详情弹窗,避免查看与编辑逻辑混淆。在表单逻辑上,通过实现密码框在新增时显示、编辑时隐藏,符合后台管理系统安全规范;同时将密码输入框改为密文形式,提升安全性。在功能体验上,完善了表单重置方法,避免弹窗数据残留,并通过动态设置弹窗标题,清晰区分新增与编辑操作。
2026-04-20 22:36:40
299
原创 基于 Redis 实现共享 Session 登录及Redis安装
基于 Redis 实现共享 Session 登录包含登录流程、拦截器校验、Redis 存储、ThreadLocal 用户上下文等核心模块。
2026-04-18 17:28:15
275
原创 秒杀场景下,集群模式的一人一单并发安全测试
集群环境下,本地锁无法实现跨实例并发控制,会出现一人多单问题。要解决该问题,必须引入分布式锁,实现跨 JVM、跨服务实例的全局互斥控制。
2026-04-17 17:13:26
385
原创 黑马点评 秒杀业务「一人一单」并发安全和Jmeter安装
为了解决集群问题,我们自己基于 Redis 实现分布式锁,利用setnx命令保证互斥性。@Override// 获取用户ID// 创建分布式锁,以用户ID作为锁的唯一标识// 尝试获取锁,120秒后自动过期// 获取锁失败,说明同一用户正在操作,直接返回if (!isLock) {return Result.fail("不允许重复下单");try {// 获取代理对象,保证事务生效// 无论业务是否出现异常,都必须释放锁。
2026-04-16 20:55:07
245
原创 最清晰、最简单、一次成功 的 SpringBoot 项目创建完整流程
3、保存文件,然后在 IDEA 里刷新 Maven(右侧 Maven 面板→刷新按钮)1、找到你的 Maven 安装目录(IDEA 自带的话,路径一般是。,粘贴我给你的完整内容,这是。
2026-04-15 15:34:41
285
原创 优惠券秒杀的核心业务逻辑(UserHolder讲解续)
它就是一个背后原理是,每个请求是一个独立线程,互不干扰。(1)拦截器把用户存进去(2)你的业务代码(秒杀、下单、支付)直接取出来(3)不用到处传userId,也不用反复查数据库。
2026-04-13 22:14:26
273
原创 优惠券秒杀的核心业务逻辑
1.这是标准后端秒杀业务2.用了Spring 事务保证数据安全3.用了Redis 生成唯一订单号4.用 MyBatis-Plus 简化数据库操作5.流程:校验时间 → 校验库存 → 扣库存 → 生成订单。
2026-04-13 22:02:37
273
原创 Redis 分布式 ID 生成器
1bit,永远是 0,保证 ID 是正数,符合 Java long 类型的规范。(4)运行结果:3 秒左右生成 3 万个 ID,性能极高,且所有 ID。:31bit,用「当前秒数 - 基准秒数」计算,最多可以用。:倒计时锁,保证 300 个任务全部执行完再结束测试。(3)每个任务循环 100 次,总共生成。:32bit,用 Redis 的。:创建 500 个线程的线程池。的序号绝对不重复,最多支持。2^32 = 42亿。
2026-04-13 16:13:14
137
原创 系统全局拦截器设计
为保证接口不被非法访问,系统设计登录鉴权拦截器,对所有接口进行自动校验。在企业级微服务架构中,接口安全、访问控制、流量治理、日志审计是系统稳定运行的关键。,分别完成登录鉴权、IP 限流、防重复提交、接口日志记录,实现了系统级统一控制,避免业务代码重复实现,提高代码可维护性与系统安全性。在订单提交、支付、表单新增等高并发场景下,用户可能因网络延迟或误操作多次点击按钮,导致重复提交。为防止恶意攻击、爬虫、接口被频繁刷取,系统实现基于 Redis 的 IP 限流拦截器。
2026-04-11 22:41:15
236
原创 Knife4j 4.x 完整使用指南(Spring Boot 3 适配版)
Knife4j 是基于的增强版接口文档工具,完美适配 Spring Boot 3,在 Swagger 原生功能基础上做了 UI 美化、功能增强,是企业级项目接口文档的主流选择。
2026-04-10 14:10:58
579
原创 Spring Boot 常用注解
业务类交给 Spring 管理,Controller 可以调用。把这个工具类交给 Spring 管理,别的类可以直接拿来用。数据库操作接口,Service 里可以调用查库。接收前端请求,提供接口,不用别人引用它。配置类,里面定义工具,别人可以引用。方法内报错,所有数据库操作全部回滚。对象一创建好,方法自动跑一次。项目关闭前自动执行一次。
2026-04-09 20:50:38
111
原创 企业标准 DTO 传参 + Controller + Service + 拷贝工具类完整版
【代码】企业标准 DTO 传参 + Controller + Service + 拷贝工具类完整版。
2026-04-08 10:59:21
39
原创 Spring Boot + Redis 缓存优化方案,解决 Redis 缓存的三大经典问题
这套代码是Redis 缓存优化的经典工业级实现,完整覆盖了缓存穿透、缓存击穿的解决方案,通过通用工具类封装,实现了业务与缓存逻辑的解耦,是 Java 后端 Redis 优化的标准实践。
2026-04-07 20:29:33
982
5
原创 MyBatis-Plus 常用 CRUD 方法大全
2. 新增(Create)3. 修改(Update)4. 删除(Delete)1. 查询(Read)
2026-03-30 20:05:43
58
原创 YOLO数据集添加雨数据增强图像
---------------------- 复制对应的标签文件 ----------------------# ---------------------- 保存增强后的图片 ----------------------# ---------------------- 雨天效果核心函数(复用之前的逻辑) ----------------------# ---------------------- 配置路径(修改为你的路径) ----------------------
2026-01-25 02:51:00
450
原创 YOLO数据集雪数据增强图像
---------------------- 雪天效果函数(核心优化:大雪参数) ----------------------# ---------------------- 雨天效果函数(保留,无需修改) ----------------------# ---------------------- 运行入口(直接运行=大雪效果) ----------------------# ---------------------- 你的固定路径(无需修改) ----------------------
2026-01-25 02:48:46
282
原创 YOLO数据集雾数据增强图像
---------------------- 核心:模拟雾效果(仅修改参数,轻雾版) ----------------------print(f"进度:{idx + 1}/{total} | 成功加轻雾 → {aug_img_name}")# ---------------------- 运行入口(直接运行=处理整个数据集) ----------------------# ---------------------- 批量处理整个数据集(逻辑不变) ----------------------
2026-01-25 02:39:33
329
原创 Spring 框架的事务注解,保证方法内的所有数据库操作要么全部成功,要么全部失败
【代码】Spring 框架的事务注解,保证方法内的所有数据库操作要么全部成功,要么全部失败。
2025-10-25 03:05:41
163
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅