spring mvc使用spring ehcache緩存

ehcache配置文件: <?xml version="1.0" encoding="UTF-8"?> <!-- /** * * 緩存配置 * @author zyzjava

ehcache配置文件: 
<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
/** 

* 緩存配置 
* @author zyz 
* @date 2013年7月2日  *  */ -->  <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">              <diskStore path="java.io.tmpdir" />               <defaultCache               maxElementsInMemory="3000"               eternal="false"               timeToIdleSeconds="3600"               timeToLiveSeconds="3600"               overflowToDisk="true"               diskPersistent="false"               diskExpiryThreadIntervalSeconds="100"               memoryStoreEvictionPolicy="LRU"               />       <cache name="mallListCache"              maxElementsInMemory="3000"              eternal="false"              overflowToDisk="true"              timeToIdleSeconds="36000"              timeToLiveSeconds="36000"              memoryStoreEvictionPolicy="LFU"               />   </ehcache>  spring配置文件  application.xml  <!-- 配置Ehcache緩存 -->       <!-- 啓動緩存註解功能 -->      <cache:annotation-driven cache-manager="cacheManager"/>                <!-- Spring本身的基於java.util.concurrent.ConcurrentHashMap實現的緩存管理器(該功能是從Spring3.1開始提供的) -->        <!-- <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">           <property name="caches">               <set>                   <bean name="myCache" class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"></bean>               </set>           </property>       </bean>   -->            <!-- 若只想使用Spring自身提供的緩存器,則注釋掉下面的兩個關於Ehcache配置的bean,並啓用上面的SimpleCacheManager便可 -->         <!-- Spring提供的基於的Ehcache實現的緩存管理器  -->             <bean id="ehCacheManagerFactoryBean" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">             <property name="configLocation" value="classpath:ehcache-hibernate-local.xml"/>         </bean>          <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">           <property name="cacheManager" ref="ehCacheManagerFactoryBean"></property>       </bean>  service代碼:  @Override  @Cacheable(value = "mallListCache")  public List<Role> getRoleListByName(String roleName) {  return roleDao.getRoleByName(roleName);  }  value值爲ehcache.xml配置的name;  同時執行兩次請求,第一次打印sql,第二次不打印;---成功;  數據庫更新修改操做時,須要清除緩存數據  方法加註解便可:  @CacheEvict(value="mallListCache",allEntries=true)  更多方法具體參考:  http://tom-seed.iteye.com/blog/2104430 
相關文章
相關標籤/搜索