ehcache緩存配置詳解_第1頁(yè)
ehcache緩存配置詳解_第2頁(yè)
ehcache緩存配置詳解_第3頁(yè)
ehcache緩存配置詳解_第4頁(yè)
ehcache緩存配置詳解_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、設(shè)置diskstore,對(duì)所有的<cache/>和<defaultCache/>有效<!-設(shè)置緩存文件 .data 的創(chuàng)建路徑。 如果該路徑是 Java 系統(tǒng)參數(shù),當(dāng)前虛擬機(jī)會(huì)重新賦值,即獲取該系統(tǒng)參數(shù)所代表的值。下面的系統(tǒng)參數(shù)這樣解釋?zhuān)?user.home 用戶(hù)主目錄 user.dir 用戶(hù)當(dāng)前工作目錄 java.io.tmpdir-><diskStore path="java.io.tmpdir" />二、defaultCache : 默認(rèn)的管理策略,其配置用于被其它c(diǎn)ache繼承,包括被在代碼中創(chuàng)建的cache繼承。

2、三、緩存區(qū)使用<cache/>標(biāo)簽進(jìn)行配置,主要屬性以及意義如下:(1)name(必填屬性):緩存區(qū)名稱(chēng),用以區(qū)別緩存區(qū),必須唯一。(2)maxEntriesLocalHeap(必填屬性):設(shè)置緩存在本地內(nèi)存中最大緩存項(xiàng)數(shù)量(0表示無(wú)限)。(等效于舊版本中的maxElementsInMemory屬性)。在實(shí)際使用中,在非分布式部署條件下,無(wú)限等效于Integer.MAX_SIZE(2147483647)。在分布式部署條件下,緩存項(xiàng)數(shù)量由Terracotta Server Array資源上限決定。 (3)maxEntriesLocalDisk(必填屬性):設(shè)置保存在本地磁盤(pán)中的的最大

3、緩存項(xiàng)數(shù)量。默認(rèn)為0,表示數(shù)量不限。(4)eternal(必填屬性):設(shè)置緩存項(xiàng)是否為永久的。如果設(shè)置為true,緩存項(xiàng)的過(guò)期設(shè)置將被忽略,緩存項(xiàng)永不過(guò)期。(5)overflowToOffHeap:此屬性?xún)H在使用Ehcache企業(yè)版時(shí)有效。設(shè)置為true,緩存將使用非堆內(nèi)存,非堆內(nèi)存并非由Java管理,與Java垃圾回收無(wú)關(guān)。默認(rèn)為false。(6)maxBytesLocalHeap:定義保存在Java虛擬機(jī)堆內(nèi)存中的緩存項(xiàng)的最大字節(jié)數(shù)。定義時(shí)格式如下<number>k|K|m|M|g|G,其中k|K代表千字節(jié),m|M代表兆字節(jié),g|G代表吉字節(jié)。舉例:maxBytesLocalH

4、eap="2g"將使用2G堆內(nèi)存。此屬性與maxEntriesLocalHeap互斥,指定了此屬性,則不能指定maxEntriesLocalHeap。如果設(shè)定過(guò)CacheManager的maxBytesLocalHeap屬性,也不能使用maxEntriesLocalHeap屬性。放入緩存的緩存項(xiàng)將使用net.sf.ehcache.pool.sizeof.SizeOf方法計(jì)算其字節(jié)數(shù)。如果希望在計(jì)算字節(jié)數(shù)時(shí)忽略對(duì)象樹(shù)中的某些屬性,請(qǐng)參考net.sf.ehcache.pool.sizeof.annotations.IgnoreSizeOf注解。(7)maxBytesLocalO

5、ffHeap:此屬性?xún)H在使用Ehcache企業(yè)版時(shí)有效。設(shè)置本緩存區(qū)使用的非堆內(nèi)存的大小。指定此屬性,將默認(rèn)設(shè)置overflowToOffHeap 為true。如果特別指定了overflowToOffHeap=”false”,將禁止使用非堆內(nèi)存。注意:當(dāng)使用非堆內(nèi)存時(shí),推薦將maxEntriesLocalHeap設(shè)置為大于等于100,否則將嚴(yán)重影響性能。也將看到一條警告日志。非堆內(nèi)存最小值為128MB,沒(méi)有上限。(8)maxBytesLocalDisk:和maxBytesLocalHeap屬性類(lèi)似,不過(guò)指定的是存儲(chǔ)在本地磁盤(pán)上的緩存項(xiàng)最大可使用的字節(jié)數(shù)。(9)timeToIdleSeconds

6、:設(shè)置一個(gè)緩存項(xiàng)在過(guò)期前的閑置時(shí)間。即一個(gè)緩存項(xiàng)在其過(guò)期前,兩次訪問(wèn)間隔的最大時(shí)間。僅在緩存項(xiàng)為非永久時(shí)有效。0表示不限閑置時(shí)間,默認(rèn)為0。(10)timeToLiveSeconds:設(shè)置一個(gè)緩存項(xiàng)在過(guò)期前的生存時(shí)間。即從緩存項(xiàng)創(chuàng)建到過(guò)期的最大時(shí)間。僅在緩存項(xiàng)為非永久時(shí)有效。0表示不限生存時(shí)間,默認(rèn)為0。(11)diskExpiryThreadIntervalSeconds:清理保存在磁盤(pán)上的過(guò)期緩存項(xiàng)目的線程的啟動(dòng)時(shí)間間隔,默認(rèn)120秒。(12)diskSpoolBufferSizeMB:磁盤(pán)緩沖區(qū)的大小。寫(xiě)入磁盤(pán)的內(nèi)容將緩沖在此區(qū)域,使用異步的方式寫(xiě)入磁盤(pán)。默認(rèn)30MB,每一個(gè)緩存區(qū)使用獨(dú)

7、立的緩沖區(qū),如果遇到OutOfMemory錯(cuò)誤時(shí),可以嘗試減小這個(gè)值。改進(jìn)磁盤(pán)寫(xiě)入性能時(shí),嘗試增加這個(gè)值。將日志級(jí)別開(kāi)到Trace,當(dāng)DiskStore執(zhí)行磁盤(pán)寫(xiě)入時(shí),可以看到對(duì)應(yīng)日志。(13)clearOnFlush:當(dāng)flush()方法調(diào)用時(shí),MemoryStore是否清空其內(nèi)容,默認(rèn)為true,即清空。(14)statistics:是否收集統(tǒng)計(jì)信息。如果需要監(jiān)控緩存使用情況,應(yīng)該打開(kāi)這個(gè)選項(xiàng)。默認(rèn)為關(guān)閉(統(tǒng)計(jì)會(huì)影響性能)。設(shè)置statistics="true"開(kāi)啟統(tǒng)計(jì)。(15)memoryStoreEvictionPolicy:當(dāng)緩存項(xiàng)達(dá)到maxEntriesLoca

8、lHeap限制時(shí),剔除緩存項(xiàng)的策略。默認(rèn)為L(zhǎng)RU(Least Recently Used)。其他的策略有:FIFO(First In First Out)和LFU(Less Frequently Used)。(16)copyOnRead:當(dāng)緩存項(xiàng)被讀出時(shí),是否返回一份它的拷貝(返回對(duì)象是緩存中對(duì)象的拷貝)。默認(rèn)false。(17)copyOnWrite:當(dāng)緩存項(xiàng)被寫(xiě)入時(shí),是否寫(xiě)入一份它的拷貝(寫(xiě)入緩存的是寫(xiě)入對(duì)象的拷貝)。默認(rèn)false。(18)diskPersistant:是否緩存虛擬機(jī)重啟器數(shù)據(jù)這個(gè)需求肯定比較普遍,我們當(dāng)然不希望一旦程序退出,整個(gè)緩存就要重建了。開(kāi)啟diskPersist

9、ent功能,只要使用的是CacheManager單例模式,下一次啟動(dòng)的時(shí)候就會(huì)調(diào)用上一次運(yùn)行的緩存。比較麻煩的是寫(xiě)入磁盤(pán)的時(shí)間還是要自己調(diào)用 Cache.flush()方法。如果僅僅考慮到程序重啟的話,我建議這里把diskStore寫(xiě)入到一個(gè)ramfs,這樣性能就更高了,但重啟電腦的話就不得不重建緩存了。 通過(guò)使用<persistence/>子元素,可以配置緩存區(qū)的持久化策略。<persistence/>元素的主要屬性如下:strategy:配置緩存區(qū)持久化的策略??蛇x值如下:localRestartable:僅在使用Ehcache企業(yè)版時(shí)有效。啟用RestartStore,拷貝所有的緩存項(xiàng)(包含堆和非堆中的)到磁盤(pán)中,此選項(xiàng)提供了緩存快速重啟能力以及對(duì)磁盤(pán)上緩存的容錯(cuò)能力。localTempSwap:當(dāng)緩存容量達(dá)到上限時(shí),將緩存對(duì)象(包含堆和非堆中的)交換到磁盤(pán)中。"localTempSwap" 并不持久化緩存內(nèi)容。none:不持久化緩存內(nèi)容。distributed:按照<terracot

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論