码迷,mamicode.com
首页 > 编程语言 > 详细

spring使用ehcache缓存

时间:2016-06-24 12:29:52      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

1.首先去官方下载spring jar包,我用的是sring 4.1.6已经集成了ehcache。

2.写spring配置文件,注意需要添加 cache约束文件。

     xmlns:cache="http://www.springframework.org/schema/cache"

    

     http://www.springframework.org/schema/cache
     http://www.springframework.org/schema/cache/spring-cache.xsd

技术分享

 

     3.在spring配置文件中配置ehcache缓存管理器:

     

       <!-- 缺省使用下面cachemanager -->
       <cache:annotation-driven/>  ---开启cache扫描
       <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
               <property name="configLocation" value="classpath:ehcache.xml"></property>
       </bean>
       <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
               <property name="cacheManager" ref="cacheManagerFactory"></property>
       </bean>
       <bean id="test" class="test.cn.test"></bean>

     4.配置ehcache.xml,上面的路径写的是该文件保存在src下。

   

         <?xml version="1.0" encoding="UTF-8"?>
         <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">

         <diskStore path="java.io.tmpdir/ehcache"/>

         <!-- 默认缓存 -->
         <defaultCache
                             maxElementsInMemory="1000"
                             eternal="false"
                             timeToIdleSeconds="120"
                             timeToLiveSeconds="120"
                             overflowToDisk="false"/>

         <!-- 菜单缓存 -->
         <cache name="menuCache"
                    maxElementsInMemory="1000"
                    eternal="false"
                    timeToIdleSeconds="120"
                    timeToLiveSeconds="120"
                    overflowToDisk="false"
                    memoryStoreEvictionPolicy="LRU"/>

        </ehcache>

  

5.配置web.xml这里就不说了,用spring监听器加载spring.xml文件就可以。(spring基础)。

6.配置成功就可以测试了。 

@Cacheable(value="menuCache",key="#id")  --添加缓存
    public int query(int id){
              System.out.println("query");
              return id;
     }
@Cacheable(value="menuCache",key="#str")
     public String querystr(String str){
               System.out.println("querystr");
               return "123";
      }
@CacheEvict(value="menuCache")   ---删除缓存
      public void update(){
           System.out.println("update");
      }

可以发现每次调用query()的时候再次调用就不会打印query了。说明缓存成功,当做修改的时候调用CacheEvict,将缓存清空。

spring使用ehcache缓存

标签:

原文地址:http://www.cnblogs.com/leosajlei/p/5613685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!