ehcache.xml 分布试缓存

 1 <?xml version="1.0" encoding="gbk"?>
 2 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
 3      <!-- 缓存设置为磁盘缓存,防止重启tomcat时,app要重新登录  -->
 4      <diskStore path="java.io.tmpdir"/>
 5     <!-- 集群多台服务器中的缓存
 6            注意每台要同步缓存的服务器的RMI通信socket端口都不一样,在配置的时候注意设置-->
 7     <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
 8         properties="hostName=10.1.35.111, port=40001,socketTimeoutMillis=2000"/>
 9     <!---->
10     <cacheManagerPeerProviderFactory 
11         class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
12         properties="peerDiscovery=manual,
13         hostName=10.1.35.111,
14         port=40002,
15         rmiUrls=//10.1.35.111:40001/BaseDataCache|//10.1.35.111:40002/BaseDataCache,
16         timeToLive=0"
17     />
18     <!--
19     <cacheManagerPeerProviderFactory 
20      class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
21      properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, 
22      multicastGroupPort=4446, timeToLive=32"/> 
23     -->
24     <!--
25     搜索某个网段上的缓存:timeToLive
26         0是限制在同一个服务器,1是限制在同一个子网, 32是限制在同一个网站
27         ,64是限制在同一个region,128是限制在同一个大洲, 255是不限制  -->
28 
29     <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="600" timeToLiveSeconds="86400" overflowToDisk="false"/>
30     <!-- 
31         配置自定义缓存
32         maxElementsInMemory:缓存中允许创建的最大对象数
33         eternal:缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。
34         timeToIdleSeconds:缓存数据的钝化时间,也就是在一个元素消亡之前,
35                     两次访问时间的最大时间间隔值,这只能在元素不是永久驻留时有效,
36                     如果该值是 0 就意味着元素可以停顿无穷长的时间。
37         timeToLiveSeconds:缓存数据的生存时间,也就是一个元素从构建到消亡的最大时间间隔值,
38                     这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间。
39         overflowToDisk:内存不足时,是否启用磁盘缓存。
40         memoryStoreEvictionPolicy:缓存满了之后的淘汰算法。
41     -->   
42     <cache name="BaseDataCache"
43         maxElementsInMemory="10000"
44         eternal="false"
45         overflowToDisk="true"
46         timeToIdleSeconds="60000"
47         timeToLiveSeconds="600000"
48         memoryStoreEvictionPolicy="LFU">
49         <!-- 
50             RMI缓存分布同步查找 class使用net.sf.ehcache.distribution.RMICacheReplicatorFactory
51                这个工厂支持以下属性:
52             replicatePuts=true | false – 当一个新元素增加到缓存中的时候是否要复制到其他的peers。默认是true。
53             replicateUpdates=true | false – 当一个已经在缓存中存在的元素被覆盖时是否要进行复制。默认是true。
54             replicateRemovals= true | false – 当元素移除的时候是否进行复制。默认是true。
55             replicateAsynchronously=true | false – 复制方式是异步的�指定为true时,还是同步的,指定为false时。默认是true。
56             replicatePutsViaCopy=true | false – 当一个新增元素被拷贝到其他的cache中时是否进行复制�指定为true时为复制,默认是true。
57             replicateUpdatesViaCopy=true | false – 当一个元素被拷贝到其他的cache中时是否进行复制�指定为true时为复制,默认是true。
58                 asynchronousReplicationIntervalMillis=1000
59         -->
60         <!-- 监听RMI同步缓存对象配置 注册相应的的缓存监听类,用于处理缓存事件,如put,remove,update,和expire -->
61         <cacheEventListenerFactory
62             class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
63             properties="replicateAsynchronously=true, 
64             replicatePuts=true, 
65             replicatePutsViaCopy=true,
66             replicateUpdates=true,
67             replicateUpdatesViaCopy=true, 
68             replicateRemovals=true "/>
69     </cache>
70     
71 </ehcache>
原文地址:https://www.cnblogs.com/notnull/p/5229724.html