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; }