logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

热点 Key 场景下 Redis 扛不住怎么办?一次讲清热 Key 识别、分片方案与降级治理

摘要:本文针对高并发场景下的Redis热点Key问题,分析了典型电商商品详情页案例中的流量特征与业务要求,指出单Key访问集中、缓存失效引发流量尖刺等常见现象。作者从原理层面解释了热点Key成为瓶颈的原因,对比了本地缓存、Key分片、限流降级等解决方案的优缺点,并给出推荐方案:本地缓存+Redis永不过期+异步更新+限流降级的组合策略。文章还提供了包含Caffeine本地缓存的落地代码示例,强调热

#redis#数据库#缓存
分布式锁为什么经常用错?一次讲清 setnx、锁续期、误删锁与 Redisson 实战

分布式锁在实际应用中经常被误用,导致并发问题。本文通过优惠券领取场景,分析了常见错误如未设置过期时间、非原子操作、锁误删等,并指出分布式锁需满足原子加锁、标识持有者、安全解锁等条件。推荐采用Redisson等成熟方案,结合数据库唯一约束实现业务正确性,而非单纯依赖锁。文中提供了Redis原子加锁和解锁的Lua脚本实现,强调锁与数据库约束协同保障业务可靠性。

#分布式#redis#json
为什么明明加了索引,MySQL 还是慢?

MySQL慢SQL高并发治理方案 摘要 本文针对高并发场景下MySQL慢SQL问题提出系统性解决方案。首先分析了订单查询场景中的典型问题,包括索引失效、深分页性能下降、锁等待等。随后详细阐述了慢SQL诊断的正确顺序,强调需结合慢日志、执行计划、锁等待信息综合分析。重点推荐了复合索引设计、游标分页改造等优化手段,并提供了索引创建和SQL改写示例代码。最后指出优化应从实际业务场景出发,避免过度设计,优

#mysql#数据库
JVM 线上频繁 Full GC,到底是泄漏、流量问题还是参数问题?

摘要:本文系统分析了线上JVM Full GC问题的排查方法。作者首先列举了Full GC的常见现象,如接口RT飙升、堆内存持续增长等,强调Full GC是现象而非结论。文章通过电商订单服务案例,详细讲解了可能导致Full GC的原因,包括内存泄漏、对象晋升过快等。重点介绍了从GC日志、jstat工具到Heap Dump的排查路径,并提供了具体命令示例。最后指出,工具分析后仍需结合业务代码检查本地

#jvm
Arthas 在线上排障到底怎么用?一次讲清 dashboard、thread、trace、watch 与常见实战场景

Arthas是一款强大的Java线上诊断工具,特别适合作为线上排障的"最后一跳确认工具"。文章从实战场景出发,介绍了最常用的5个命令:dashboard查看全局概况、thread分析线程问题、jad反编译代码、trace追踪方法耗时、watch观察方法参数和返回值。针对典型线上问题如接口变慢、参数异常、线程堆积等,提供了具体的排查思路和命令组合。同时提醒使用时要避免大范围tra

#java#maven#spring boot +2
Redis、MySQL、价格刷新、下单校验:购物车系统一次讲透

电商购物车设计核心在于平衡体验与数据一致性。文章系统分析了购物车设计的难点,包括登录/未登录状态同步、实时价格刷新、库存校验等问题。作者建议购物车只存储用户ID、SKU ID、数量等稳定字段,而非商品名称、价格等易变数据。推荐采用MySQL持久化登录用户购物车,Redis处理未登录状态,并强调提交订单时必须重新校验商品实时状态。文章还提供了表结构设计示例、核心流程说明及常见踩坑点,最后总结购物车本

#java#maven#spring boot +2
数据库连接池 HikariCP 怎么调优?一次讲清最大连接数、超时参数与线上排查思路

本文系统介绍了HikariCP数据库连接池的调优方法。作者指出连接池配置不能简单照搬,需要综合考虑数据库承载能力、应用实例数、SQL耗时和业务高峰并发等因素。重点分析了maximumPoolSize、connectionTimeout、maxLifetime等关键参数的作用及配置原则,强调连接池过大或过小都会引发问题。文章提供了配置示例,并给出线上排查思路:监控活跃连接数、等待时间等指标,结合慢S

#数据库#oracle
Caffeine 本地缓存怎么设计?一次讲清适用场景、淘汰策略、热点保护与一致性边界

本文系统讲解了Caffeine本地缓存的设计要点。本地缓存相比Redis具有JVM内存命中、延迟更低等优势,特别适合热点读、配置类数据等场景。文章指出Caffeine最适合作为读多写少情况下的第一层热点缓存,但使用时必须注意三个关键点:设置容量上限防止内存溢出、合理配置过期时间TTL、明确其最终一致性边界而非强一致性。作者通过商品详情的代码示例展示了Caffeine的正确用法,并提醒开发者避免常见

#缓存
Spring Boot 2.x 升级 3.x / 4.x 怎么做?一次讲清 JDK、Jakarta、依赖兼容与上线策略

摘要:本文系统讲解Spring Boot从2.x升级到3.x/4.x的完整策略。升级不仅是版本号变更,还涉及JDK基线变化、javax到jakarta的包迁移、安全配置调整以及依赖生态兼容问题。建议分步升级:先梳理依赖清单,升级JDK,逐步迁移版本,重点测试运行时行为,最后灰度发布。特别提醒要关注第三方starter兼容性和运行时差异,避免只解决编译问题。框架升级需谨慎处理外围生态,采用渐进式策略

#java#spring boot#后端
Spring AI 真适合直接上生产吗?它能做什么、不能做什么、边界在哪

摘要:Spring AI更适合作为Java项目中的AI接入提效层,而非完整的生产级治理平台。它擅长快速接入多模型、实现基础调用功能,但在复杂治理能力(如限流、审计、预算控制)方面存在局限。实际应用中建议采用分层设计:将Spring AI作为底层接入层,业务封装层处理模板和降级策略,平台治理层独立处理路由和审计。生产上线需重点关注日志记录、超时降级和监控指标(调用成功率、超时率等),避免将Demo能

#spring#人工智能#java +3
    共 97 条
  • 1
  • 2
  • 3
  • 10
  • 请选择