Mybatis 整合 ehcache缓存-阿里云开发者社区

开发者社区> 祖师爷> 正文

Mybatis 整合 ehcache缓存

简介: 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>
  1. 在 Mapper.xml 中指定使用 ehcache 缓存实现
<!--在当前 Mapper.xml 中使用二级缓存-->
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
  1. 在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 - 默认临时文件路径
    -->
    <!--  java项目 www.fhadmin.org -->
    <!--当二级缓存的对象 超过内存限制时(缓存对象的个数>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"/>
    <!--
       java项目 www.fhadmin.cn
       maxElementsInMemory:设置 在内存中缓存 对象的个数
       maxElementsOnDisk:设置 在硬盘中缓存 对象的个数
       eternal:设置缓存是否 永远不过期
       overflowToDisk:当系统宕机的时候是否保存到磁盘上
       maxElementsInMemory的时候,是否转移到硬盘中
       timeToIdleSeconds:当2次访问 超过该值的时候,将缓存对象失效
       timeToLiveSeconds:一个缓存对象 最多存放的时间(生命周期)
       diskExpiryThreadIntervalSeconds:设置每隔多长时间,通过一个线程来清理硬盘中的缓存
       clearOnFlush: 内存数量最大时是否清除
       memoryStoreEvictionPolicy:当超过缓存对象的最大值时,处理的策略;LRU (最少使用),FIFO (先进先出), LFU (最少访问次数)
     -->
</ehcache>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SpringBoot-15-之整合MyBatis-注解篇+分页
0.相关配置 pom.xml mysql mysql-connector-java org.mybatis.
1165 0
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架 1、mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
1422 0
SpringBoot-16-之整合MyBatis-xml篇+单元测试
此篇接上篇:SpringBoot-15-之整合MyBatis-注解篇+分页 0.项目结构 java dao |---SwordDao entity |---Sword resources mapper |---Sword.
1485 0
我们究竟什么时候可以使用Ehcache缓存(转)
一、Ehcache是什么 EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。 二、Ehcache的使用场景是什么 1、首先最主要就是页面缓存。
1086 0
spring boot 整合Mybatis
spring boot 整合Mybatis1.导jar包 org.mybatis.spring.boot mybatis-spring-boot-starter 1.
1392 0
Mybatis 缓存
简介 一般来说,应用处理请求的速度取决于CPU与应用内存。为了加速我们的应用,我们一般会采取如下措施: 改善应用的算法性能 多台机器,多个CPU进行并行计算 升级CPU等 在应用中,我们需要减少对数据库的访问次数,因为获取数据需要花费时间,如果用能临时的储存获取的数据,供下次再次利用,那对我们将有一些帮助。
1003 0
mybatis开启二级缓存小记
mybatis开启二级缓存小记 1.开启二级缓存 和一级缓存默认开启不一样,二级缓存需要我们手动开启 首先在全局配置文件 mybatis-configuration.xml 文件中加入如下代码: 其次在 UserMapper.xml 文件中开启缓存 我们可以看到 mapper.xml 文件中就这么一个空标签,其实这里可以配置,PerpetualCache这个类是mybatis默认实现缓存功能的类。
1235 0
+关注
祖师爷
java框架www.fhadmin.cn
132
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载