ehcache是一個用Java完成的運用複雜,高速,完成線程平安的緩衝治理類庫,ehcache供應了用記憶體,磁碟檔案儲存體,以及散布式儲存體式格局等多種靈敏的cache治理方案。同時ehcache作為開放原始碼項目,採用限制比擬寬鬆的Apache License V2.0作為受權體式格局,被普遍地用於Hibernate,
Spring,Cocoon等其他開源零碎。
Ehcache的類條理模子次要為三層,最下層的是CacheManager,他是操作Ehcache的進口。我們可以經過CacheManager.getInstance()取得一個單個的CacheManager,或許經過CacheManager的結構函數創立一個新的CacheManager。每個CacheManager都治理著多個Cache。而每個Cache都以一品種Hash的體式格局,聯絡關係著多個Elemenat。而Element則是我們用於寄存要緩衝內容的中央。
ehcache的重新整理戰略ehcache的重新整理戰略是當緩衝在放入的時分記載一個放入工夫,它是用Lazy Evict的體式格局,在取的時分同設定的TTL比擬ehcache緩衝的3種清空戰略:1 FIFO,先輩先出2 LFU,起碼被運用,緩衝的元素有一個hit屬性,hit值最小的將會被清出緩衝。3
LRU,比來起碼運用的,緩衝的元素有一個工夫戳,當緩衝容量滿了,而又需求騰出中央來緩衝新的元素的時分,那麼現有緩衝元素中工夫戳離以後工夫最遠的元素將被清出緩衝。事情處置可認為CacheManager添加事情監聽,當對CacheManager增刪Cache時,事情處置器將會失掉告訴。要設定裝備擺設事情處置,需求經過ehcache的設定裝備擺設檔案來完成。
ehcache參數設定裝備擺設:maxInMemory - 設定記憶體中創立對象的最年夜值。eternal - 設定元素(譯註:記憶體中對象)能否永世駐留。假如是,將疏忽逾時限制且元素永不用亡。timeToIdleSeconds - 設定某個元素消亡前的進展工夫。也就是在一個元素消亡之前,兩次拜訪工夫的最年夜工夫距離值。這隻能在元素不是永世駐留時無效(譯註:假如對象永久不滅,則設定該屬性也無用)。假如該值是
0 就意味著元素可以進展無量長的工夫。timeToLiveSeconds - 為元素設定消亡前的生活工夫。也就是一個元素從構建到消亡的最年夜工夫距離值。這隻能在元素不是永世駐留時無效。overflowToDisk - 設定當記憶體中緩衝到達maxInMemory 限制時元素能否可寫到磁碟上。