- 博客(170)
- 收藏
- 关注

原创 Redis 复制机制:高可用架构的基石
Redis复制机制是实现高可用架构的核心技术,通过主从节点异步复制确保数据冗余和读写分离。核心包括全量复制(首次同步时完整复制数据)和部分复制(通过PSYNC命令仅同步缺失数据)。配置方式支持静态文件、动态命令和认证设置,关键监控指标涵盖复制状态、偏移量和延迟。常见故障处理涉及网络中断、数据不一致和性能优化。合理配置复制参数可显著提升Redis集群的可靠性和性能。
2025-09-08 14:11:46
2324

原创 AOT 编译与 GraalVM 实战:Java 云原生的终极进化
Java AOT编译与GraalVM云原生实战摘要: AOT编译将Java应用提前编译为本机可执行文件,相比传统JIT具有启动快(毫秒级)、内存占用低(下降30-60%)、部署简单(单二进制)等优势,特别适合Serverless、微服务和CLI工具场景。GraalVM作为多语言运行时,支持Java/JS/Python等混合编程,其Native Image技术可实现惊人的性能提升(如Spring Boot应用启动速度提升64倍)。本文详解了从环境搭建、编译优化到生产部署的全流程,包括反射配置、资源包含等常见问
2025-08-25 10:16:17
2012

原创 类加载机制与双亲委派模型:深入Java虚拟机的类加载艺术
🔍 Java类加载机制与双亲委派模型深度解析 本文深入探讨了Java类加载机制的核心原理和双亲委派模型。类加载过程分为加载、验证、准备、解析和初始化五个阶段,通过源码解析展示了各阶段的具体实现。双亲委派模型通过层次化加载机制保障了安全性、避免重复加载和结构清晰性,但也存在上层无法访问下层类等局限性。文章还分析了JDBC Driver加载、Tomcat容器、Java SPI机制和OSGi模块化等打破双亲委派的典型案例,揭示了类加载机制在实际应用中的灵活运用。理解这些原理对于解决类冲突、NoClassDefF
2025-08-18 15:35:36
2163

原创 《Redis持久化机制对比与RDB/AOF调优方案》
Redis持久化机制对比与调优方案 Redis提供RDB快照和AOF日志两种持久化方式保障数据安全。RDB通过周期快照实现高性能备份,AOF记录写命令确保数据完整性,4.0+版本支持混合模式结合两者优势。主节点推荐AOF everysec+混合持久化,从节点建议关闭持久化。电商等高并发场景可关闭RDB,采用AOF每秒刷盘。关键调优包括:监控fork延迟、定期备份验证、主从差异化配置。注意持久化不等于备份,需建立独立灾备方案,定期测试恢复流程。不同场景需权衡性能与数据安全,选择适合的持久化策略组合。
2025-08-12 15:00:51
2081

原创 《CAS机制与原子类源码解析:从Unsafe到LongAdder》
本文深入解析了Java并发编程中的CAS机制与原子类实现。首先剖析了原子性问题的本质,指出传统同步方案的缺陷。随后详细解读了CAS操作原理、CPU指令支持及ABA问题解决方案。在Unsafe类源码剖析部分,重点讲解了其核心能力和CAS底层实现。文章还分析了J.U.C原子类体系结构,并以AtomicInteger为例展示其内部实现。最后,针对高并发场景下的性能瓶颈,介绍了LongAdder的分治策略和优化原理,通过拆分热点数据减少竞争,大幅提升并发性能。
2025-08-06 15:27:32
1873

原创 《Java对象头与MarkWord结构:锁优化的底层内幕》
Java对象头与MarkWord结构深度解析 本文深入探讨了Java对象头中MarkWord的核心作用及其在多线程环境下的锁优化机制。主要内容包括: 对象内存布局:详细解析了32位/64位JVM中对象头的结构差异,展示了使用JOL工具查看对象布局的方法。 MarkWord结构:揭示了包含锁标志位、偏向锁标记、哈希码等关键字段的64位数据结构,以及不同锁状态下的字段分布特征。 锁状态演进:通过流程图和代码示例,完整演示了从无锁→偏向锁→轻量级锁→重量级锁的转换过程,并验证了JVM的锁优化策略。 实践指南:提供
2025-08-02 09:00:00
1927

原创 《Spring Cloud Gateway 深度剖析:从核心原理到企业级实战》
摘要:本文深度剖析Spring Cloud Gateway(SCG)的核心原理与实战应用。作为微服务架构的关键组件,SCG基于Reactor响应式模型,相比Zuul具备更高性能(3w+ TPS)和扩展性。文章通过流程图和源码解析了请求生命周期及过滤器链执行机制,并演示了自定义日志过滤器的实现。在动态路由部分,提出三种实现方案:配置中心监听、数据库驱动和Actuator端点触发,并强调防雪崩缓存设计的重要性。本文为构建高性能、可扩展的企业级网关提供了完整的技术方案。
2025-07-29 09:57:41
1971

原创 JAVA面试宝典 -《分布式ID生成器:Snowflake优化变种》
在分布式系统中,唯一且高性能的 ID 生成方案至关重要。本文深入剖析了 Snowflake 的 64 位结构原理、Java 实现及其在 ID 趋势性与雪崩风险方面的表现。同时探讨了时钟回拨的成因与应对策略,以及美团 Leaf 的号段方案与 Redis 原子 ID 生成方案。对比 UUID、自增 ID 的优劣,结合跨机房部署场景,给出多种实战建议,帮助读者构建稳定、高可用的分布式 ID 服务。
2025-07-16 10:19:27
1849
原创 Redis 安全机制:从漏洞防御到生产环境加固
🔐 Redis安全加固指南 📌 核心风险: 未授权访问(公网暴露/弱密码) 数据泄露(敏感信息读取) 权限提升(SSH密钥注入) 资源耗尽攻击(FLUSHALL/DEBUG) 🛡️ 防护措施: • ACL精细权限控制(Redis 6.0+) • 网络隔离(绑定内网IP/防火墙规则) • TLS加密通信 • 禁用高危命令(FLUSHALL/CONFIG等) 🔧 最佳实践: 启用protected-mode 修改默认端口6379 定期轮换密码 监控异常连接 通过多层次防御策略,可有效降低Redis安全风
2025-09-12 15:11:55
781
原创 Redis 内存优化与压缩:从原理到实战的完整指南
Redis 内存优化与压缩指南:从基础原理到实战技巧,涵盖数据结构压缩、配置优化和编码选择。深入解析 ziplist、quicklist 和 intset 等高效数据结构的内存布局与优化配置,通过对比测试展示内存节省效果(如 ziplist Hash 可节省70%内存)。提供 Redis 自动编码机制流程图和关键配置参数,帮助开发者根据数据特征选择最优存储方案,实现 Redis 内存使用的高效管理。
2025-09-12 14:49:15
610
原创 Redis 缓存穿透、击穿、雪崩:防御与解决方案大全
Redis缓存问题解决方案 缓存穿透 问题:恶意查询不存在数据,直接穿透缓存访问数据库 解决方案: 布隆过滤器:快速判断数据是否存在(有误判率) 空值缓存:缓存不存在的键,设置较短过期时间 组合方案:布隆过滤器+空值缓存+恶意请求识别 缓存击穿 问题:热点Key瞬间失效导致大量并发请求直达数据库 解决方案: 互斥锁:仅允许一个线程重建缓存,其他线程等待 双重检查锁:获取锁后再次检查缓存 锁超时机制:避免死锁 核心防御 布隆过滤器适合海量数据存在性判断 空值缓存实现简单但对内存有压力 分布式锁保护热点数据重建
2025-09-11 15:07:14
707
原创 Redis 大 Key 与热 Key:生产环境的风险与解决方案
Redis大Key与热Key问题分析与解决方案 大Key(数据量过大)和热Key(访问频率过高)是Redis生产环境两大典型问题。大Key的标准通常为String类型超过10KB,集合元素超过1000个;热Key则表现为QPS超过1000或占总请求5%以上。 主要风险: 大Key会导致阻塞延迟、网络拥塞、内存不均和持久化问题 热Key会造成单点瓶颈、数据倾斜、缓存击穿和资源竞争 诊断方法: 内置工具:redis-cli --bigkeys、memory usage命令、monitor监控 热Key分析:实时
2025-09-11 14:22:17
732
原创 Redis 慢查询与性能监控:从诊断到优化的完整指南
Redis性能优化指南:从诊断到解决 本文系统介绍了Redis性能问题的全面排查方法: 性能瓶颈分析:详细解析了CPU、内存、网络、磁盘和命令复杂度五大瓶颈来源,并提供了诊断流程图和特征对比表 慢查询优化:深入讲解Slowlog配置和使用方法,提供分析脚本示例和常见慢查询优化方案(如KEYS命令替代、大Value操作优化) 延迟监控:介绍LATENCY命令的使用和延迟事件分析方法,帮助定位性能问题 文章包含多个可视化图表(Mermaid流程图、序列图)和实用命令示例,是Redis性能优化的完整参考指南。
2025-09-11 10:47:10
565
原创 Redis 与分布式事务:最终一致性的实践艺术
Redis在分布式事务中的实践艺术 摘要:本文系统介绍了Redis在分布式事务中的应用,重点探讨了TCC事务模型与最终一致性实现。Redis在分布式事务中扮演着状态管理、消息队列、分布式锁和幂等控制等多重角色,通过其高性能特性为分布式系统提供可靠的事务支持。文章详细解析了TCC三阶段流程,展示了Redis在事务状态管理、超时重试和补偿机制中的具体实现方案,包括幂等性设计模式和补偿日志存储等关键技术点。通过Redis的有序集合、哈希结构和分布式锁等特性,实现了高效的事务状态跟踪和错误恢复机制,为构建高可用分布
2025-09-10 13:59:58
546
原创 Redis 分布式锁:从原理到实战的完整指南
Redis分布式锁实战指南 摘要: 本文系统介绍了Redis分布式锁的实现方案,从基础概念到高级算法。首先分析了分布式锁的必要性及四大核心挑战:互斥性、死锁预防、容错性和性能需求。详细讲解了基于SET NX的基础实现方案及其缺陷,包括单点故障风险。重点解析了RedLock算法,通过多节点加锁机制提高可靠性,提供了完整的Java实现代码。文章还对比了不同分布式锁方案的优缺点,并指出RedLock算法的争议点。涵盖从基础原理到生产实践的全方位内容,为分布式系统开发提供实用指导。
2025-09-10 10:44:58
617
原创 Redis 分布式一致性与 Gossip 协议:最终一致性的艺术
Redis Cluster 采用 AP 架构,通过 Gossip 协议实现最终一致性,包括节点状态感知、配置传播和故障检测。Gossip 协议以去中心化方式随机传播消息,Redis 中通过 PING/PONG 消息交换节点状态。数据同步采用异步复制,维护复制偏移量来跟踪一致性。槽位迁移时使用 ASK 重定向保证数据一致性。故障检测结合心跳和 Gossip 传播,主节点故障时从节点通过选举实现自动故障转移。整个系统在可用性和最终一致性之间取得平衡。
2025-09-10 10:06:00
1084
原创 Redis Sentinel:高可用架构的守护者
Redis Sentinel 是 Redis 的高可用性解决方案,通过自动故障检测和转移机制确保系统持续可用。其核心功能包括监控主从节点状态、自动故障转移和配置管理。相比手动切换,Sentinel 能实现秒级响应和99.99%+的可用性。故障转移过程包含心跳检测、共识投票和从节点晋升等步骤,采用 Raft 算法变种选举 Leader。配置时需设置监控参数、超时时间等,并可通过 Java 或 Spring Boot 集成到客户端。Sentinel 能有效解决脑裂问题,但需注意网络分区和配置一致性等常见问题。
2025-09-09 15:08:14
766
原创 Redis Cluster 分布式集群:水平扩展与高可用架构
Redis Cluster通过哈希槽分片机制实现数据水平分布,支持16384个槽位自动分配。集群采用去中心化架构,每个主节点配备从节点实现自动故障转移,基于Gossip协议进行节点状态同步。相比哨兵模式,Cluster支持数据分片和水平扩展,适合大规模场景。客户端可通过槽位缓存直接路由或遵循重定向机制(MOVED/ASK)访问数据。集群搭建需配置节点参数并通过redis-cli工具初始化,支持在线数据迁移和槽位再平衡。关键配置包括节点超时时间和故障转移策略参数,确保高可用性和一致性。
2025-09-09 10:54:17
581
原创 Redis 复制机制:高可用架构的基石
Redis复制机制是构建高可用架构的基石,通过主从架构实现数据冗余、负载均衡和故障恢复。核心复制方式包括全量复制和部分复制:全量复制会在首次连接时传输完整RDB数据,虽保证一致性但性能开销大;部分复制则通过PSYNC机制仅同步缺失数据,显著提升效率。关键配置涉及复制偏移量、积压缓冲区和服务器Run ID验证。生产环境中需合理设置repl-backlog-size、repl-timeout等参数,并通过info replication监控复制状态。典型问题包括复制断开、数据不一致等,可通过网络检查、重新同步和
2025-09-09 10:14:27
894
原创 Redis Stream:轻量级消息队列深度解析
Redis Stream是Redis 5.0引入的持久化消息数据结构,提供完整的消息队列功能。文章深度解析了Stream的核心特性和底层实现,包括消息持久化、消费组支持、消息确认等机制。内容涵盖消息生产(XADD)与消费(XREAD)的详细命令和Java示例,重点讲解了消费组机制和管理命令,并提供了Java消费组实现示例。通过基数树存储消息和特殊ID格式设计,Redis Stream实现了高性能的消息队列功能,支持消息回溯和独立消费组消费模式。
2025-09-08 11:13:17
871
原创 Redis 发布订阅模式:轻量级消息系统实战指南
Redis 发布订阅模式(Pub/Sub)是一种轻量级消息通信系统,实现发布者和订阅者之间的解耦通信。本文详细介绍了其核心原理、使用方法和实际应用场景:1)基础概念包含发布者、订阅者和频道三个核心角色;2)提供完整的命令操作指南,包括订阅、发布和取消订阅等;3)通过三个典型应用案例(实时聊天室、通知系统和配置更新广播)展示实战用法,包含Java和Python实现代码。Redis Pub/Sub模式适合需要简单、高效消息传递的场景,文中采用Mermaid图表直观展示系统架构和工作流程。
2025-09-08 10:14:32
669
原创 Redis 事务与 Lua 脚本:原子操作实战指南
Redis 事务与 Lua 脚本使用指南 本文介绍了 Redis 事务和 Lua 脚本的核心概念与实战应用。Redis 事务通过 MULTI/EXEC 命令组合实现命令的批量执行,配合 WATCH 可实现乐观锁机制。Lua 脚本则提供更强大的原子性操作能力,能减少网络开销并处理复杂业务逻辑。文章通过三个实战案例展示了这些技术的应用: 账户转账事务:使用 WATCH 和 MULTI/EXEC 确保转账操作的原子性 分布式锁实现:利用 Lua 脚本原子性地获取和续期分布式锁 防超卖库存扣减:通过 Lua 脚本实
2025-09-06 16:00:00
669
原创 Redis 持久化机制:AOF 日志深度解析
Redis AOF 持久化机制深度解析:AOF(Append Only File)是 Redis 的日志式持久化方式,通过记录写操作命令实现数据持久化。文章详细介绍了 AOF 的三种写入策略(always/everysec/no)、重写机制原理及触发条件,对比了 AOF 与 RDB 的优缺点,并阐述了混合持久化(RDB+AOF)的实现方式。针对生产环境,提供了配置建议和性能优化方案,包括同步策略选择、重写参数调优等核心内容,帮助开发者平衡数据安全性与系统性能。
2025-09-06 10:00:00
995
原创 Redis 持久化机制:RDB 快照深度解析
Redis RDB 快照机制深度解析:从原理到生产实践 RDB 是 Redis 的二进制快照持久化方式,通过生成内存数据的压缩二进制文件实现持久化。本文详细解析 RDB 的核心机制,包括: 文件结构:包含 Redis 魔数、版本号、数据库数据和校验和 触发机制:支持自动保存配置和手动 SAVE/BGSAVE 命令 执行流程:基于 fork 子进程和写时复制技术,保证性能 生产实践:提供配置建议、监控命令和灾难恢复方案 RDB 优势在于快速恢复、文件紧凑且性能影响小,但存在数据丢失风险。与 AOF 相比,RD
2025-09-05 14:06:00
557
原创 Redis 内存管理机制:深度解析与性能优化实践
Redis 内存管理机制深度解析:从架构到优化实践 本文全面剖析Redis内存管理机制,主要内容包括: 内存架构全景:详细解析数据内存、进程内存和缓冲内存的组成结构 分配机制剖析:深入讲解Jemalloc分配器原理及碎片处理方案 淘汰策略详解:对比8种内存淘汰策略,重点分析LRU/LFU算法实现 配置监控指南:提供maxmemory配置建议和内存监控命令 优化实战建议:通过数据结构优化和大对象拆分等技巧降低内存消耗 文章采用可视化图表与代码示例相结合的方式,帮助开发者全面掌握Redis内存管理核心知识,并提
2025-09-05 11:25:05
1024
原创 Redis 高级数据结构:Bitmap、HyperLogLog、GEO 深度解析
本文深入解析了Redis三种高级数据结构及其应用场景: Bitmap(位图) 本质是String类型,支持位级操作 典型应用:用户签到系统(1.19MB存储千万用户)、布隆过滤器实现 核心命令:SETBIT/GETBIT/BITCOUNT/BITOP HyperLogLog(基数统计) 概率算法实现,误差0.81%,内存极低(12KB存储亿级数据) 典型应用:网站UV统计 核心命令:PFADD/PFCOUNT/PFMERGE GEO(地理位置)(未展开) 基于Sorted Set实现地理位置存储与查询 这些
2025-09-05 11:07:21
1007
原创 Redis 数据结构全面解析:从底层编码到实战应用
Redis数据结构全面解析:核心类型与实战应用 本文系统介绍了Redis的5种核心数据结构及其应用场景。String类型支持计数器、分布式锁等功能,采用INT/EMBSTR/RAW三种编码格式;List适合消息队列场景,提供ZIPLIST/LINKEDLIST两种编码;Hash是对象存储的最佳选择;Set提供高效的集合运算能力;ZSet则适用于排行榜等有序场景。每种数据结构都根据数据特点自动选择最优编码格式,在保证性能的同时满足不同业务需求。文中还提供了Java代码示例,展示如何利用这些数据结构实现计数器、
2025-09-04 14:16:23
956
原创 Redis vs Memcached vs MongoDB:深入对比与选型指南
Redis、Memcached和MongoDB技术对比与选型指南 本文深入对比了三种主流数据存储技术的特性与适用场景。Redis作为内存数据结构存储,支持丰富数据类型和持久化,适合缓存、会话存储等场景;Memcached作为纯内存缓存,性能更高但功能简单;MongoDB是文档型数据库,适合持久化存储和复杂查询。选型建议:简单缓存选Memcached,需要丰富功能选Redis,复杂数据存储和查询选MongoDB。实际应用中常组合使用,如Redis+MongoDB实现高性能缓存与持久化存储的结合。
2025-09-04 11:09:46
1090
原创 Redis 初识:框架定位与核心原理
Redis是一款高性能内存数据库,相比传统磁盘数据库具有微秒级响应速度,支持丰富的数据结构。其单线程模型通过I/O多路复用和无锁设计实现高效并发处理。典型应用场景包括缓存、排行榜、消息队列、分布式锁和会话存储等。Redis核心优势在于极致速度、数据结构多样性、持久化保障和高可用性,适合缓存、高速读写等场景,是构建高性能系统的关键组件。学习路径应从基础命令到高级特性,逐步掌握其核心原理和实际应用。
2025-09-04 10:57:06
673
原创 MyBatis 常见错误与解决方案:从坑中爬出的实战指南
MyBatis 常见错误与解决方案摘要 本文总结了MyBatis开发中的常见问题及解决方案: N+1查询问题:分析了性能问题,提供了三种解决方案-连接查询(推荐)、批量查询和嵌套查询,并对比了各方案性能。 映射异常:解决字段不匹配、空指针异常和懒加载问题,建议使用明确的resultMap、配置空值检查和正确管理Session生命周期。 配置陷阱:包括Mapper路径配置错误等常见问题,强调配置检查的重要性。 最佳实践包括:始终使用resultMap、为实体类字段提供默认值、优先使用包装类型以及谨慎使用懒加载
2025-09-03 14:55:42
1021
原创 MyBatis 与分布式事务:微服务架构下的数据一致性解决方案
本文探讨了微服务架构下 MyBatis 与分布式事务的集成方案。文章首先分析了分布式事务的典型场景和核心挑战,包括数据不一致、性能瓶颈等问题,并对比了 2PC、TCC、AT模式等主流解决方案。随后重点介绍了 Seata 框架与 MyBatis 的集成实战,详细展示了 AT 模式的配置步骤和使用示例,包括数据源代理设置、全局事务注解应用以及 Undo Log 表结构设计。最后简要说明了 Seata XA 模式的配置方式,为不同业务场景提供了完整的事务一致性解决方案。
2025-09-03 13:53:40
1022
原创 MyBatis 日志与调试技巧:让 SQL 执行过程完全透明
MyBatis 日志与调试技巧摘要 MyBatis提供灵活的日志体系,支持SLF4J、Log4J等多框架集成,通过DEBUG级别可查看完整SQL及参数。配置方式包括XML/YAML文件或代码设置,建议开发阶段启用DEBUG日志,生产环境使用INFO级别。可通过拦截器实现SQL美化和慢查询监控(如输出执行时间),结合Spring Boot Actuator可实现性能追踪。关键技巧:单独配置Mapper包日志级别、使用参数替换插件提升可读性、为慢SQL设置阈值告警,这些方法能显著提升SQL调试效率。(149字)
2025-09-02 14:45:24
669
原创 MyBatis 实战案例:电商订单模块开发
本文介绍了基于MyBatis的电商订单模块开发实践,主要内容包括:1)订单业务流程分析,通过时序图和ER图展示核心业务逻辑;2)数据库表结构设计,详细说明订单表和订单明细表的字段定义及关联关系;3)MyBatis实现方案,包含实体类设计、Mapper接口定义和XML映射配置,展示如何高效处理订单数据的增删改查操作。该方案为电商系统订单模块开发提供了完整的技术实现参考。
2025-09-02 13:51:19
1129
原创 MyBatis 多数据源与分库分表实践:企业级解决方案深度解析
📝 MyBatis多数据源与分库分表实践摘要 本文深入探讨企业级应用中MyBatis多数据源与分库分表解决方案。随着业务增长,单数据库面临性能瓶颈、可用性风险和维护困难等问题。文章对比分析了多数据源(适用于业务隔离/读写分离)、分库分表(适合大数据量场景)及混合方案的优缺点。实战部分详细展示了基于Spring Boot的动态数据源配置,包括数据源路由实现、切换注解和切面编程。最后介绍了ShardingSphere集成方案,包含Sharding-JDBC、Sharding-Proxy等组件,并给出快速集成示
2025-09-02 10:46:26
1124
原创 MyBatis 与 MyBatis-Plus 的对比与选择
MyBatis与MyBatis-Plus对比摘要(150字) MyBatis作为半自动ORM框架,提供SQL可控性和灵活映射,但需手动编写CRUD和分页逻辑。MyBatis-Plus是其增强工具,通过继承BaseMapper自动实现基础CRUD,提供Lambda表达式条件构造器和强大插件体系(分页/乐观锁)。核心差异:MyBatis适合需精细控制SQL的场景,MyBatis-Plus显著提升开发效率,尤其适合单表操作。选择建议:复杂SQL/存储过程选MyBatis,常规业务开发优先MyBatis-Plus。
2025-09-01 17:40:08
1111
原创 MyBatis 性能优化最佳实践:从 SQL 到连接池的全面调优指南
MyBatis性能优化最佳实践摘要 本文全面解析MyBatis性能优化策略,涵盖SQL优化、批量处理和连接池调优。SQL优化重点包括:合理设计复合索引解决全表扫描问题,使用JOIN查询替代N+1查询模式,配置懒加载减少不必要数据加载。批量操作对比了BatchExecutor和foreach两种方式,大数据量场景推荐分批foreach插入(1000条/批)。连接池优化建议配置合理的连接数(HikariCP推荐max-pool-size=20)并设置连接超时参数。通过索引优化可提升查询性能8倍,批量操作使插入耗
2025-09-01 14:29:26
645
原创 MyBatis 与分页实现:从原生支持到插件化最佳实践
MyBatis分页方案对比与实践指南 本文系统介绍了MyBatis的三种分页实现方式: 原生RowBounds:内存分页机制,查询全量数据后内存截取,适合小数据量场景,但存在性能问题和内存溢出风险。 PageHelper插件:国内流行解决方案,通过拦截器实现物理分页,支持多种数据库方言和丰富的分页功能,需注意分页作用域控制。 MyBatis-Plus分页:增强工具包提供的内置分页方案,基于Page对象和拦截器自动优化SQL,整合性更好但需要学习新API。 最佳实践建议:中小项目推荐PageHelper,大型
2025-09-01 14:03:14
2077
原创 MyBatis 插件开发与原理:深入拦截器机制的核心
MyBatis插件机制基于责任链模式设计,通过动态代理包装目标对象实现拦截功能。开发者可以通过实现Interceptor接口、使用@Intercepts注解和配置plugin标签来开发插件。MyBatis允许拦截四大核心组件:Executor(执行SQL)、StatementHandler(处理SQL语句)、ParameterHandler(设置参数)和ResultSetHandler(处理结果集),每个组件都有特定的拦截时机和应用场景。插件开发需定义@Signature注解指定拦截目标,并通过interc
2025-08-30 15:00:00
675
原创 MyBatis 缓存机制全解析:从本地缓存到分布式缓存
🔥 MyBatis缓存机制全解析 核心要点 MyBatis提供两级缓存机制: 一级缓存:SqlSession级别,默认开启,同会话内有效,执行更新操作自动失效 二级缓存:Mapper级别,需显式配置,多个SqlSession共享,适合读多写少场景 缓存价值 ⚡ 提升性能:减少数据库访问 📉 降低负载:减轻数据库压力 🔄 加速响应:内存访问快于磁盘IO 高级应用 可自定义缓存实现(如Redis),解决分布式环境缓存共享问题 需注意缓存一致性和脏读风险 适用场景 一级缓存适合单会话重复查询,二级缓存适合多
2025-08-30 11:00:00
900
原创 MyBatis 类型处理器(TypeHandler)详解:打通 Java 与数据库的类型鸿沟
MyBatis TypeHandler解析:打通Java与数据库类型转换 摘要:MyBatis的TypeHandler是Java类型与数据库类型转换的核心组件,主要功能包括参数设置、结果获取和空值处理。文章详细介绍了内置TypeHandler的分类与对比,并演示了两种自定义TypeHandler的实战场景:JSON对象转换器(实现复杂对象与JSON字符串的转换)和枚举高级映射(自定义枚举值与数据库的映射关系)。通过继承BaseTypeHandler并实现特定方法,开发者可以灵活处理各种特殊数据类型转换需求,
2025-08-29 09:37:54
938
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人