一、MyBatis的缓存机制
MyBatis是一种支持缓存的Java持久层框架
Mybatis 提供了三种缓存机制:本地缓存(一级缓存)、二级缓存和集群缓存。
以下是有关 Mybatis 缓存机制的更多信息:
二、 本地缓存(一级缓存)
2.1 本地缓存的定义
它缓存了会话期间查询的数据。它的作用域是会话(SqlSession),即在同一个会话中执行相同的SQL语句时,查询得到的结果会被缓存起来,如果再次查询同样的数据,则直接从缓存中返回,不必再去查询数据库。
一级缓存是SqlSession级别的缓存,它的作用域是SqlSession内部,同一个SqlSession中的多次查询可以共享缓存。
2.2 本地缓存的好处
本地缓存可以减少数据库访问次数,提高查询性能。
2.3 本地缓存的实现原理
默认情况下,本地缓存使用 LRU 策略进行缓存清理。
在默认情况下,本地缓存使用的是基于PerpetualCache的实现,这是一种基于HashMap的缓存实现方式。