Java爱好者 - 专注于Java技术Java爱好者 - 专注于Java技术

mybatis Ehcache缓存(mybatis与Ehcache整合包下载)

Ehcache缓存
简介
Ehcache是一个用JAVA实现的,使用简单,高速,实现线程安全的缓存管理类库,Ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的Cache管理方案。采用限制比较宽松的Apache License v2.0作为授权方式,被广泛地用于Hibernate,Spring,Cocoon等其他开源框架。
这里提供 mybatis与Ehcache整合包下载
https://github.com/mybatis/ehcache-cache/releases
还有ehcache下载地址
https://www.ehcache.org/downloads/

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.javar.dao.UserMapper">
 <!-- ehcache开启-->
<cache type="org.mybatis.caches.ehcache.EhcacheCache"></cache>
    <select id="findUserByName" resultType="cc.javar.model.User">
        select uId, userName , passWord from sysuser where userName = #{userName}
    </select>
    <insert id="addUser" parameterType="cc.javar.model.User" >
    </insert>
</mapper>

其他对象想开启缓存只要引用即可(仔细看明白)

<cache-red namespace=" cc.javar.dao.UserMapper">

和<cache></cache>放在那即可

 

然后再内路径下放ehcache.xml文件

<ehcache xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">
     <!-- 磁盘保存路径 可以写d:\ehcache 等-->
    <diskStore path="java.io.tmpdir"/>
    <!--
    Mandatory Default Cache configuration. These settings will be applied to caches
    created programmtically using CacheManager.add(String cacheName)
    -->
    <!--
       name:缓存名称。
       maxElementsInMemory:缓存最大个数。
       eternal:对象是否永久有效,一但设置了,timeout将不起作用。
       timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
       timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
       overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。
       diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
       maxElementsOnDisk:硬盘最大缓存个数。
       diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.
       diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
       memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。
       clearOnFlush:内存数量最大时是否清除。
    -->
    <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            memoryStoreEvictionPolicy="LRU"
            />
</ehcache>
本原创文章未经允许不得转载 | 当前页面:Java爱好者 - 专注于Java技术 » mybatis Ehcache缓存(mybatis与Ehcache整合包下载)

评论