在Mybatis中使用自定义缓存ehcache的方法

 更新时间:2021年01月20日 11:37:18   作者:weixin_44953227  
这篇文章主要介绍了在Mybatis中使用自定义缓存ehcache的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

自定义缓存 - ehcache

Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器

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的方法的文章就介绍到这了,更多相关Mybatis自定义缓存ehcache内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot后端接口的实现(看这一篇就够了)

    SpringBoot后端接口的实现(看这一篇就够了)

    这篇文章主要介绍了SpringBoot后端接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java项目实现定时任务的三种方法

    Java项目实现定时任务的三种方法

    Java开发过程中经常会遇到使用定时任务的情况,比如在某个活动结束时,自动生成获奖名单,导出excel等,下面这篇文章主要给大家介绍了关于Java项目实现定时任务的三种方法,需要的朋友可以参考下
    2022-06-06
  • 图文详解JAVA实现哈夫曼树

    图文详解JAVA实现哈夫曼树

    所谓哈夫曼树就是要求最小加权路径长度,这是什么意思呢?简而言之,就是要所有的节点对应的路径长度(高度-1)乘以该节点的权值,然后保证这些结果之和最小。下面这篇文章就给大家详细介绍
    2016-08-08
  • 如何通过Java实现时间轴过程解析

    如何通过Java实现时间轴过程解析

    这篇文章主要介绍了如何通过Java实现时间轴过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • JAVA中Comparable接口和自定义比较器示例讲解

    JAVA中Comparable接口和自定义比较器示例讲解

    这篇文章主要给大家介绍了关于JAVA中Comparable接口和自定义比较器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Springboot通过run启动web应用的方法

    Springboot通过run启动web应用的方法

    这篇文章主要介绍了Springboot通过run启动web应用的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 在Filter中不能注入bean的问题及解决

    在Filter中不能注入bean的问题及解决

    这篇文章主要介绍了在Filter中不能注入bean的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java guava框架LoadingCache及CacheBuilder本地小容量缓存框架总结

    Java guava框架LoadingCache及CacheBuilder本地小容量缓存框架总结

    Guava Cache本地缓存框架主要是一种将本地数据缓存到内存中,但数据量并不能太大,否则将会占用过多的内存,本文给大家介绍Java guava框架 LoadingCache及CacheBuilder 本地小容量缓存框架总结,感兴趣的朋友一起看看吧
    2023-12-12
  • 修改Maven settings.xml 后配置未生效的解决

    修改Maven settings.xml 后配置未生效的解决

    这篇文章主要介绍了修改Maven settings.xml 后配置未生效的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • java Clone接口和深拷贝详解

    java Clone接口和深拷贝详解

    今天小编就为大家分享一篇关于Java Clonable接口和深拷贝详解上的深入了解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08

最新评论