Ehcache.xml 配置及屬性說明


1.配置樣例

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <diskStore path="d:/ehcache/"></diskStore>
    
    <!-- 默認緩存配置 -->
    <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
    />
    
    <!-- User緩存配置 -->
    <cache 
        name="User" 
        maxElementsInMemory="10000" 
        eternal="false"
        timeToIdleSeconds="300" 
        timeToLiveSeconds="600" 
        overflowToDisk="true" 
    />

</ehcache>

2.屬性說明

2.1.diskStore

  指定數據存儲位置,可指定磁盤中的文件夾位置。樣例中配置位置為“d:/ehcache/”

2.2.defaultCache

  默認緩存配置

2.3.cache

  指定對象的緩存配置,其中 name 屬性為指定緩存的名稱(必須唯一)

2.4.配置屬性中的元素說明

   1)maxElementsInMemory(正整數):

    在內存中緩存的最大對象數量

   2)maxElementsOnDisk(正整數):

    在磁盤上緩存的最大對象數量,默認值為0,表示不限制。 

   3)eternal

    設定緩存對象保存的永久屬性,默認為 false 。當為 true 時 timeToIdleSeconds、timeToLiveSeconds 失效。 

   4)timeToIdleSeconds(單位:秒):

    對象空閑時間,指對象在多長時間沒有被訪問就會失效。只對eternal為false的有效。默認值0,表示一直可以訪問。

   5)timeToLiveSeconds(單位:秒):

    對象存活時間,指對象從創建到失效所需要的時間。只對eternal為false的有效。默認值0,表示一直可以訪問。

   6)overflowToDisk

    如果內存中數據超過內存限制,是否要緩存到磁盤上。 

    7)diskPersistent

    是否在磁盤上持久化。指重啟jvm后,數據是否有效。默認為false。 

    8)diskSpoolBufferSizeMB(單位:MB)

    DiskStore使用的磁盤大小,默認值30MB。每個cache使用各自的DiskStore。

    9)memoryStoreEvictionPolicy

    如果內存中數據超過內存限制,向磁盤緩存時的策略。默認值LRU,可選FIFO、LFU。

3.清空策略

3.1.FIFO(first in first out):

  先進先出

3.2.LFU(Less Frequently Used):

  最少被使用,緩存的元素有一個hit屬性,hit值最小的將會被清除緩存。

3.3.LRU(Least Recently Used)默認策略:

  最近最少使用,緩存的元素有一個時間戳,當緩存容量滿了,而又需要騰出地方來緩存新的元素的時候,那么現有緩存元素中時間戳離當前時間最遠的元素將被清除緩存。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM