Spring 集成Ehcache

给Spring 集成Ehcache


1.Srping主配置文件

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

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

<!-- 缓存配置 --> 
    <!-- 启用缓存注解功能(请将其配置在Spring主配置文件中) --> 
    <cache:annotation-driven  proxy-target-class="true" cache-manager="cacheManager"/> 
    <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
        <property name="configLocation" value="classpath:ehcache.xml"/>
        <!-- 缓存页面需要de -->
        <property name="shared" value="true"></property> 
    </bean> 
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"> 
        <property name="cacheManager" ref="cacheManagerFactory"/> 
    </bean>


2.POM

        <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.10.2.2.21</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-web</artifactId>
<version>2.0.4</version>
</dependency>
3.cache.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">  
<!--默认缓存  -->

    <defaultCache eternal="false"   
        maxElementsInMemory="10000"
        overflowToDisk="false"   
        timeToIdleSeconds="0"  
        timeToLiveSeconds="0"   
        memoryStoreEvictionPolicy="LFU"/>  
   <!-- 自定义缓存  -->
    <cache name="myCache"   
        eternal="false"   
        maxElementsInMemory="10000"  
        overflowToDisk="false"   
        timeToIdleSeconds="0"  
        timeToLiveSeconds="0"   
        memoryStoreEvictionPolicy="LFU"/>
    <!-- 页面缓存 -->
    <cache name="SimplePageCachingFilter"
           maxElementsInMemory="10"   
           maxElementsOnDisk="10"     
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="60"
           memoryStoreEvictionPolicy="LFU">
    </cache>
    <!-- 页面局部缓存 -->
    <cache name="SimplePageFragmentCachingFilter"
           maxElementsInMemory="10"   
           maxElementsOnDisk="10"     
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="60"
           memoryStoreEvictionPolicy="LFU">
    </cache>
</ehcache> 
4.web.xml 配置页面缓存

<!--ehcache 页面缓存过滤器
   -->
  <filter> 
    <filter-name>PageCacheFilter</filter-name> 
        <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>
         <init-param> 
            <param-name>cacheName</param-name> 
            <param-value>SimplePageCachingFilter</param-value>

       </init-param>   
  </filter> 
  <filter-mapping> 
    <filter-name>PageCacheFilter</filter-name> 
    <url-pattern>/common/index</url-pattern>
  </filter-mapping>
  
<!--ehcache 页面局部缓存 
    <filter>
        <filter-name>PageFragmentCachingFilter</filter-name>
        <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageFragmentCachingFilter</filter-class>
        <init-param> 
            <param-name>cacheName</param-name> 
            <param-value>SimplePageFragmentCachingFilter</param-value> 
       </init-param> 
    </filter>  
    <filter-mapping>
        <filter-name>PageFragmentCachingFilter</filter-name>
        <url-pattern>/WEB-INF/pages/testCache.jsp</url-pattern>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
-->

猜你喜欢

转载自liaoke0123.iteye.com/blog/2311185