mybatis 加二级缓存

Posted TT_DUL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 加二级缓存相关的知识,希望对你有一定的参考价值。

首先要做的就是导入jar 包,本人所用的mybatis 为3.1.1 版本
ehcache-core-2.5.2.jar
mybatis-ehcache-1.0.3.jar

mybatis-config.xml

    <settings> 
        <setting name="cacheEnabled" value="true" /> 
    </settings>

mapper.xml

<mapper namespace="com.vshop.logistic.mapper.EnumValueMapper" >
  <cache />
  <resultMap id="BaseResultMap" type="com.vshop.logistic.model.EnumValue" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="type" property="type" jdbcType="INTEGER" />
    </resultMap>
</mapper>

cache.xml


<?xml version="1.0" encoding="UTF-8"?>  
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:noNamespaceSchemaLocation="../bin/ehcache.xsd">  
    <!--  
    name:Cache的唯一标识  
    maxElementsInMemory:内存中最大缓存对象数  
    maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大  
    eternal:Element是否永久有效,一但设置了,timeout将不起作用  
    overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中  
    timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大  
    timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大   
    diskPersistent:是否缓存虚拟机重启期数据  
    diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒  
    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区  
     memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)   
    -->  
    <defaultCache overflowToDisk="true" eternal="false"/>  
    <diskStore path="D:\\cache\\" />  

        <cache name="vshopSessionBuffer" overflowToDisk="true" eternal="false"  
        timeToIdleSeconds="300" timeToLiveSeconds="600" maxElementsInMemory="10000"  
        maxElementsOnDisk="10000" diskPersistent="true" diskExpiryThreadIntervalSeconds="300"  
        diskSpoolBufferSizeMB="100" memoryStoreEvictionPolicy="FIFO" />  

</ehcache> 

以上是关于mybatis 加二级缓存的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis一级缓存和二级缓存

mybatis二级缓存原理

Mybatis缓存的使用和源码分析

mybatis学习笔记(13)-查询缓存之二级缓存

MyBatis缓存机制-二级缓存

Java——Mybatis二级缓存