ehcache.xml 分布試緩存,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>