spring cache 设置

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <!-- 指定一个文件目录,当EhCache把数据写到硬盘上时,将把数据写到这个文件目录下 -->
    <diskStore path="java.io.tmpdir"/>

    <!-- 设定缓存的默认数据过期策略 -->
    <defaultCache
            maxElementsInMemory="10000" 
            eternal="false" 
            overflowToDisk="true"
            timeToIdleSeconds="10"
            timeToLiveSeconds="20"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"/>

    <cache name="deptListCache" maxEntriesLocalHeap="1000" />  
</ehcache>
<!-- ecache setting -->
    <cache:annotation-driven cache-manager="cacheManager" />  
    
    <!-- spring 自带的缓存管理 -->
    <!-- <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">    
    <property name="caches">    
        <set>    
            <bean name="myCache" class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"/>    
        </set>    
    </property>    
    </bean>   -->

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">  
        <property name="cacheManager" ref="cacheManagerFactory"></property>  
    </bean>  

    <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
        <property name="configLocation" value="/WEB-INF/config/ehcache-setting.xml"></property>  
    </bean>  
/**
     * @Description 获取部门树形结构
     */
    @Cacheable(value="deptListCache")
    @RequestMapping(value = "getList")    
    public @ResponseBody List<Dept> getList() {
        List<Dept> list = deptService.getList();
        return list;
    }

 

posted @ 2016-12-08 11:45  sz_zzm  阅读(375)  评论(0编辑  收藏  举报