ehcache

 

<ehcache>
<diskStore path="java.io.tmpdir" />

<defaultCache maxElementsInMemory="10000"
     eternal="false"
   timeToIdleSeconds="120"
   timeToLiveSeconds="120"
   overflowToDisk="true"
   maxElementsOnDisk="10000000"
   diskPersistent="false"
   diskExpiryThreadIntervalSeconds="120"
   memoryStoreEvictionPolicy="LRU" >
   </defaultCache>
<cache name="smapCache"
     maxElementsInMemory="10000"
     eternal="false"
   timeToIdleSeconds="3600"
   timeToLiveSeconds="3600"
   overflowToDisk="true"
   maxElementsOnDisk="10000000"
   diskPersistent="false"
   diskExpiryThreadIntervalSeconds="120"
   memoryStoreEvictionPolicy="LRU">
    </cache>

</ehcache>

 

下面是分布式缓存配置

<ehcache>
<diskStore path="java.io.tmpdir" />

<!--自动查找局域网中分布式的peer 。也可手工指定节点的地址的,如:peerDiscovery=manual,rmiUrls=//server1:40000/sampleCache1 -->
<cacheManagerPeerProviderFactory
   class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
   properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446" />

<cacheManagerPeerListenerFactory
   class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" />

<defaultCache maxElementsInMemory="10000"
     eternal="false"
   timeToIdleSeconds="120"
   timeToLiveSeconds="120"
   overflowToDisk="true"
   maxElementsOnDisk="10000000"
   diskPersistent="false"
   diskExpiryThreadIntervalSeconds="120"
   memoryStoreEvictionPolicy="LRU" >
   </defaultCache>
<cache name="smapCache"
     maxElementsInMemory="10000"
     eternal="false"
   timeToIdleSeconds="3600"
   timeToLiveSeconds="3600"
   overflowToDisk="true"
   maxElementsOnDisk="10000000"
   diskPersistent="false"
   diskExpiryThreadIntervalSeconds="120"
   memoryStoreEvictionPolicy="LRU">
  <cacheEventListenerFactory
        class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
   </cache>

</ehcache>

 

必须属性:
name:设置缓存的名称,用于标志缓存,惟一
maxElementsInMemory:在内存中最大的对象数量
maxElementsOnDisk:在DiskStore中的最大对象数量,如为0,则没有限制
eternal:设置元素是否永久的,如果为永久,则timeout忽略
overflowToDisk:是否当memory中的数量达到限制后,保存到Disk

可选的属性:
timeToIdleSeconds:设置元素过期前的空闲时间
timeToLiveSeconds:设置元素过期前的活动时间
diskPersistent:是否disk store在虚拟机启动时持久化。默认为false
diskExpiryThreadIntervalSeconds:运行disk终结线程的时间,默认为120秒
memoryStoreEvictionPolicy:策略关于Eviction

缓存子元素:
cacheEventListenerFactory:注册相应的的缓存监听类,用于处理缓存事件,如put,remove,update,和expire
bootstrapCacheLoaderFactory:指定相应的BootstrapCacheLoader,用于在初始化缓存,以及自动设置。

 

 

spring配置:

    <!-- ehcache -->
<bean id="cacheManager"
        class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
        <property name="configLocation"
            value="classpath:ehcache.xml">
        </property>
    </bean>

    <bean id="smapCacheBean" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
        <property name="cacheManager" ref="cacheManager"></property>
        <property name="cacheName" value="smapCache"></property>
    </bean>

 

 

 

下面是我自己的实例

你可能感兴趣的:(ehcache)