自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 延迟双删的坑与优雅规避方案

延迟双删(Delayed Double Delete)是一种用于缓解缓存与数据库不一致问题的常用策略,广泛应用于 Redis 作为缓存、MySQL 作为持久化存储的系统架构中。其设计初衷是解决“写操作期间读请求并发导致缓存污染”的典型问题,我们先从它的起源说起。在典型的缓存架构中,我们通常采用 Cache-Aside 模式(旁路缓存模式):先更新数据库,再删除缓存。

2025-12-22 17:38:31 1001

原创 4 种常见限流算法:从原理到分布式落地(附选型指南)

在高并发分布式系统中,限流是保障服务稳定性的 “安全阀”—— 它通过限制单位时间内的请求流量,避免系统因过载而雪崩。常见的限流算法有,它们各自适用于不同的业务场景,选型错误可能导致限流失效或影响用户体验。本文将从原理、优缺点、实现方式、适用场景四个维度,全面解析这 4 种算法,帮助你在实际开发中精准选型。

2025-12-19 14:50:59 1059

原创 Redis+Lua+AOP 实现高可用滑动窗口限流(附踩坑实录)

在高并发分布式系统中,接口限流是保障服务稳定性的关键手段。常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等,其中因能解决固定窗口的 “临界突刺” 问题,更适合支付、订单等核心场景。本文将分享我基于 Redis+Lua+Spring AOP 实现滑动窗口限流的完整过程,包括核心设计、踩坑实录和最终优化方案,适用于 Spring Boot 项目。

2025-12-18 13:34:13 972

原创 高并发下库存“防超卖”实战:从数据库到分布式架构的全方案演进

双十一零点刚过,商品就显示超卖了,明明库存只够1000件,却卖出了1200单”——这是很多电商开发者在大促期间最头疼的问题。库存超卖不仅会引发用户投诉、平台赔付,更会损害品牌信誉。而在微服务分布式架构下,随着并发量从千级飙升到万级、十万级,库存一致性问题更会被无限放大。今天我们就从问题根源出发,一步步拆解从中小并发到高并发场景的完整解决方案。

2025-12-08 11:08:30 617

原创 初学者理解Mybatis执行原理(四大核心组件)

用一张图串联(以为例):开发者调用 userMapper.selectById(1)→ 触发 Executor.query() (总指挥:查缓存→安排任务)→ Executor 调用 StatementHandler.prepare() (执行者:创建Statement→准备SQL)→ StatementHandler 调用 ParameterHandler.setParameters() (转换器:设置参数1到?) → StatementHandler 执行 SQL,得到 ResultSet。

2025-10-30 15:35:51 1279

原创 基于AbstractRoutingDataSource实现SpringBoot动态数据源

AbstractRoutingDataSource + ThreadLocal + AOP 实现动态数据源切换

2025-10-22 12:24:47 1658

原创 Mysql利用binlog日志恢复数据

查看binlog日志核心配置项输入以下命令查询binlog相关配置信息(1)log_bin字段含义:全局控制 MySQL 是否开启二进制日志的总开关。取值为ON时,MySQL 会记录所有对数据的修改操作(如 INSERT/UPDATE/DELETE、表结构变更等)到 binlog 文件,用于 数据恢复(通过 binlog 回滚或重做操作)和 主从复制(主库通过 binlog 向从库同步数据)。取值为OFF时,完全关闭 binlog,不记录任何修改操作(生产环境建议开启,除非是纯只读库)。

2025-10-20 09:59:22 1422 1

空空如也

空空如也

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

TA关注的人

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