【项目实战】MyBatis三种缓存机制介绍:本地缓存、二级缓存和集群缓存

本文详细介绍了MyBatis的三种缓存机制:本地缓存(一级缓存)、二级缓存和集群缓存。本地缓存作用于SqlSession,减少数据库访问;二级缓存是Mapper级别的,可选;集群缓存则在分布式环境中跨会话共享数据,如Ehcache实现。通过启用和配置缓存,可以提升查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MyBatis的缓存机制

MyBatis是一种支持缓存的Java持久层框架
Mybatis 提供了三种缓存机制:本地缓存(一级缓存)、二级缓存和集群缓存。
以下是有关 Mybatis 缓存机制的更多信息:

二、 本地缓存(一级缓存)

2.1 本地缓存的定义

它缓存了会话期间查询的数据。它的作用域是会话(SqlSession),即在同一个会话中执行相同的SQL语句时,查询得到的结果会被缓存起来,如果再次查询同样的数据,则直接从缓存中返回,不必再去查询数据库。

一级缓存是SqlSession级别的缓存,它的作用域是SqlSession内部,同一个SqlSession中的多次查询可以共享缓存。

2.2 本地缓存的好处

本地缓存可以减少数据库访问次数,提高查询性能。

2.3 本地缓存的实现原理

默认情况下,本地缓存使用 LRU 策略进行缓存清理。
在默认情况下,本地缓存使用的是基于PerpetualCache的实现,这是一种基于HashMap的缓存实现方式。

2.4 如何开启&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

本本本添哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值