您的位置:首页 > 编程语言 > Java开发

Spring缓存 org.springframework.cache.ehcache.EhCacheManagerFactoryBean

2014-02-20 17:25 459 查看
<bean id="ehCacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">

  <property name="configLocation">

   <!--<value>ehcache.xml</value>-->

            <value>classpath:ehcache.xml</value>

  </property>

 </bean>
 

 <!-- 方法缓存 -->

 <bean id="methodCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">

  <property name="cacheManager"><ref bean="ehCacheManagerFactory" /> </property>

  <property name="cacheName"><value>methodCache</value></property>

 </bean>

 <bean id="methodCacheInterceptor" class="com.aman.MethodCacheInterceptor">

<property name="methodCache" ref="methodCache"></property>

</bean>

 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

  <property name="beanNames">

   <list><value>qyNameService</value></list>

  </property>

  <property name="interceptorNames">

   <list> <value>methodCacheInterceptor</value></list>

  </property>

 </bean>

<!--timeToIdleSeconds 当缓存闲置n秒后销毁 -->

<!--timeToLiveSeconds 当缓存存活n秒后销毁 -->

<!--

缓存配置

name:缓存名称。

maxElementsInMemory:缓存最大个数。

eternal:对象是否永久有效,一但设置了,timeout将不起作用。

timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。

timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。

overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。

maxElementsOnDisk:硬盘最大缓存个数。

diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.

diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。

memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。

clearOnFlush:内存数量最大时是否清除。

-->

===》ehcahe.xml《===

<ehcache>         

    <diskStore path="/ehcache"/>     

    <defaultCache

        maxElementsInMemory="1000"

        eternal="false"

        timeToIdleSeconds="1800"

        timeToLiveSeconds="1800"

        overflowToDisk="true"

        />

    <!--

    <cache name="sampleCache1"

        maxElementsInMemory="10000"

        eternal="false"

        timeToIdleSeconds="300"

        timeToLiveSeconds="600"

        overflowToDisk="true"

        />

  -->

       

      <cache name="methodCache"

        maxElementsInMemory="10000"

        eternal="false"

        timeToIdleSeconds="1800"

        timeToLiveSeconds="1800"

        overflowToDisk="true"

        />

</ehcache>

===》ehcahe.xml《===
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐