- 博客(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关注的人
RSS订阅