mybatis的缓存

简介: 一级缓存与二级缓存

一级缓存本地缓存 默认就是一级缓存

基于PerpetualCache的HashMap本地缓存,sqlSession级别 作用与单个线程

当更新或者sql会话关闭的时候本地缓存会清空

当更新的时候 由于我们的id主键唯一 所以主键的话被修改 mysql会感知 感知了就会去清空一级缓存

类似临时变量

二级缓存

有本地缓存对应就是整个应用的缓存

SqlFactory级别 作用整个应用 因为sql默认的就是只有一个sqlfactory 所以这个时候其实实际上也就是全局的作用

PerpetualCache永久缓存

PerpetualCache 是一个永久缓存类,是 MyBatis 中用于缓存 SQL 语句执行结果的一个组件。

该类继承自 AbstractCache 类,实现了永久存储缓存的功能。在 MyBatis 中,PerpetualCache 类通常是作为二级缓存的默认实现类,可以将查询结果保存在内存中,从而提高查询效率。

与其他缓存类不同,PerpetualCache 不会清除缓存内容,因此一旦缓存被初始化后,其中的数据将一直存在于缓存中,直到应用程序关闭或手动清除缓存。

对于一些数据更新频繁的业务场景,建议选用其它缓存策略,如 LRU 策略、FIFO 策略等。

相关文章
|
3月前
|
缓存 Java 数据库连接
MyBatis的缓存
MyBatis的缓存
|
15天前
|
XML 缓存 Java
MyBatis二级缓存解密:深入探究缓存机制与应用场景
MyBatis二级缓存解密:深入探究缓存机制与应用场景
49 2
MyBatis二级缓存解密:深入探究缓存机制与应用场景
|
1月前
|
存储 缓存 Java
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
|
1月前
|
缓存 Java 数据库连接
mybatis 数据库缓存的原理
MyBatis 是一个流行的 Java 持久层框架,它封装了 JDBC,使数据库交互变得更简单、直观。MyBatis 支持两级缓存:一级缓存(Local Cache)和二级缓存(Global Cache),通过这两级缓存可以有效地减少数据库的访问次数,提高应用性能。
282 1
|
1月前
|
存储 缓存 Java
【MyBaits】4、延迟加载、MyBatis 的缓存
【MyBaits】4、延迟加载、MyBatis 的缓存
22 0
|
2月前
|
SQL 缓存 Java
mybatis缓存详解
mybatis缓存详解
23 0
|
3月前
|
缓存 Java 数据库连接
mybatis的缓存内容(下)
mybatis的缓存内容
30 0
|
3月前
|
SQL 缓存 Java
mybatis的缓存内容(上)
mybatis的缓存内容
31 0
|
3月前
|
缓存 Java 数据库连接
|
3月前
|
缓存 Java 数据库连接
MyBatis支持的缓存刷新模式
MyBatis支持的缓存刷新模式
217 1