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)默認策略:

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章