当前位置: 代码迷 >> 综合 >> Mybatis__一级缓存 二级缓存
  详细解决方案

Mybatis__一级缓存 二级缓存

热度:98   发布时间:2023-11-14 19:31:55.0

##缓存分类
###一级缓存
事务范围:缓存只能被当前事务访问。缓存的生命周期
依赖于事务的生命周期当事务结束时,缓存也就结束生命周期。
在此范围下,缓存的介质是内存。

###二级缓存
进程范围:缓存被进程内的所有事务共享。这些事务有
可能是并发访问缓存,因此必须对缓存采取必要的事务隔离机制。
缓存的生命周期依赖于进程的生命周期,进程结束时,
缓存也就结束了生命周期。进程范围的缓存可能会存放大量的数据,
所以存放的介质可以是内存或硬盘。

###三级缓存
集群范围:在集群环境中,缓存被一个机器或者多个机器的进程共享。
缓存中的数据被复制到集群环境中的每个进程节点,
进程间通过远程通信来保证缓存中的数据的一致性,
缓存中的数据通常采用对象的松散数据形式

MyBatis支持一级缓存和二级缓存,在实际开发中,实际上很少使用到MyBatis自带的缓存,大部分情况下,缓存都是使用EHCache,MemoryCache、Redis等等来实现缓存。

##所需依赖

<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.mybatis.caches</groupId><artifactId>mybatis-ehcache</a