SpringMVC 整合 ehcache. 注解应用

1. 下载ehcache-2.10.2.jar。 注意, 当时ehcache已经有版本3了。 但是建议下版本2。 下了3之后会出现null class的错误,无法解决。导入:ehcache-2.10.2.jar,  slf4j-api,slf4j-jdk的相关jar文件。 ***下载ehcache-2.10的时候,下载的是整个发布包,里面就包括了上述3个jar包。  还需要spring-context-4.2.5.RELEASE.jar
spring-context-support-4.2.5.RELEASE.jar的导入。| 包导入结束。

2. 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 path="d:\\temp"/>

  
         <defaultCache  
            maxElementsInMemory="3000"  
            eternal="false"  
            timeToIdleSeconds="3600"  
            timeToLiveSeconds="3600"  
            overflowToDisk="true"  
            diskPersistent="false"  
            diskExpiryThreadIntervalSeconds="100"  
            memoryStoreEvictionPolicy="LRU"  
            />  
    <cache name="myCache"  
           maxElementsInMemory="3000"  
           eternal="false"  
           overflowToDisk="true"  
           timeToIdleSeconds="36000"  
           timeToLiveSeconds="36000"  
           memoryStoreEvictionPolicy="LFU"  
            />  

    <!--
        eternal="false"   // 元素是否永恒,如果是就永不过期(必须设置)
        maxElementsInMemory="1000" // 缓存容量的内存最大值(必须设置)
        overflowToDisk="false"  // 当缓存达到maxElementsInMemory值是,是否允许溢出到磁盘(必须设置)
        diskPersistent="false"  // 磁盘缓存在VM重新启动时是否保持(默认为false)
        timeToIdleSeconds="0" // 导致元素过期的访问间隔(秒为单位). 0表示可以永远空闲,默认为0
        timeToLiveSeconds="600" // 元素在缓存里存在的时间(秒为单位). 0 表示永远存在不过期
        memoryStoreEvictionPolicy="LFU" // 当达到maxElementsInMemory时,如何强制进行驱逐默认使用"最近使用(LRU)"策略,其它还有先入先出FIFO,最少使用LFU,较少使用LRU
    -->
</ehcache>

在这里需要说明的是: 

I.  <diskStore path="d:\\temp"/> 中的目录可以是硬盘的文件目录。 

II. <cache name="myCache">  这个名字要记住。 这个需要在我们的daoImpl文件中需要做的缓存名

 

3. 在 springmvc.xml 文件中插入如下代码:

<cache:annotation-driven />
	<bean id="cacheManager"
      class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cache-manager-ref="ehcache"/>

<!-- EhCache library setup -->
<bean id="ehcache"
      class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:config-location="classpath:ehcache.xml"/>
	

该代码是在<beans></beans>标签中的末尾添加,包括     <cache:annotation-driven />。 

 

 

 

4. 在相应的方法前添加如下:

@Cacheable("myCache") 
	public List<User> getRightUserList() {

该方式就将方法返回的list进行了缓存。

转载于:https://my.oschina.net/u/1779642/blog/753646

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值