温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Mybatis中自定义ehcache缓存

发布时间:2021-01-20 16:34:13 来源:亿速云 阅读:212 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关如何在Mybatis中自定义ehcache缓存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1.导包

<!-- https://mvnrepository.com/artifact/org.mybatis.caches/mybatis-ehcache -->
<dependency>
 <groupId>org.mybatis.caches</groupId>
 <artifactId>mybatis-ehcache</artifactId>
 <version>1.1.0</version>
</dependency>

2.在 Mapper.xml 中指定使用 ehcache 缓存实现

<!--在当前 Mapper.xml 中使用二级缓存-->
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

3.在resource中定义配置文件 ehcache.xml

<?xml version="1.0" encoding="UTF-8" ?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false">

 <!--
 diskStore: 缓存路径, ehcache分为内存和磁盘两级, 此属性定义磁盘的缓存位置
 参数:
 user.home - 用户主目录
 user.dir - 用户当前工作目录
 java.io.tmpdir - 默认临时文件路径
 -->

 <!--当二级缓存的对象 超过内存限制时(缓存对象的个数>maxElementsInMemory),存放入的硬盘文件 -->
 <diskStore path="./tempdir/Tmp_Ehcache"/>

 <!--default 默认缓冲策略, 当ehcache找不到定义的缓存时, 则使用这个缓存策略, 这个只能定义一个-->
 <defaultCache
  eternal="false"
  maxElementsInMemory="10000"
  overflowToDisk="false"
  diskPersistent="false"
  timeToIdleSeconds="1800"
  timeToLiveSeconds="259200"
  memoryStoreEvictionPolicy="LRU"/>
 
 <cache
  name="cloud_user"
  eternal="false"
  maxElementsInMemory="5000"
  overflowToDisk="false"
  diskPersistent="false"
  timeToIdleSeconds="1800"
  timeToLiveSeconds="1800"
  memoryStoreEvictionPolicy="LRU"/>

 <!--
  maxElementsInMemory:设置 在内存中缓存 对象的个数
  maxElementsOnDisk:设置 在硬盘中缓存 对象的个数
  eternal:设置缓存是否 永远不过期
  overflowToDisk:当系统宕机的时候是否保存到磁盘上
  maxElementsInMemory的时候,是否转移到硬盘中
  timeToIdleSeconds:当2次访问 超过该值的时候,将缓存对象失效
  timeToLiveSeconds:一个缓存对象 最多存放的时间(生命周期)
  diskExpiryThreadIntervalSeconds:设置每隔多长时间,通过一个线程来清理硬盘中的缓存
  clearOnFlush: 内存数量最大时是否清除
  memoryStoreEvictionPolicy:当超过缓存对象的最大值时,处理的策略;LRU (最少使用),FIFO (先进先出), LFU (最少访问次数)
  -->
</ehcache>

上述就是小编为大家分享的如何在Mybatis中自定义ehcache缓存了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI