Ehcache 配置及注釋

2021-08-03 13:58:59 字數 4119 閱讀 9914

1.ehcache.xml配置檔案詳解

2.ehcache 包可用方法介紹:

建立cachemanager 的方法:

方法一:

cachemanager manager = new cachemanager();

方法二:

cachemanager manager = new cachemanager("src/config/ehcache.xml");

方法三:

url url = getclass().getresource("/anotherconfigurationname.xml");

cachemanager manager = new cachemanager(url);

方法四:

inputstream fis = new fileinputstream(new file("src/config/ehcache.xml").getabsolutepath());

try finally

獲取cachenames 列表:

方法一:

cachemanager.create();

string cachenames = cachemanager.getinstance().getcachenames();

方法二:

cachemanager manager = new cachemanager();

string cachenames = manager.getcachenames();

方法三:

cachemanager manager1 = new cachemanager("src/config/ehcache1.xml");

cachemanager manager2 = new cachemanager("src/config/ehcache2.xml");

string cachenamesformanager1 = manager1.getcachenames();

string cachenamesformanager2 = manager2.getcachenames();

新增和刪除快取元素:

設定乙個名為testcache 的新cache,屬性為預設:

cachemanager singletonmanager = cachemanager.create();

singletonmanager.addcache("testcache");

cache test = singletonmanager.getcache("testcache");

設定乙個名為testcache 的新cache,並定義其屬性:

cachemanager singletonmanager = cachemanager.create();

cache memoryonlycache = new cache("testcache", 5000, false, false, 5, 2);

singletonmanager.addcache(memoryonlycache);

cache test = singletonmanager.getcache("testcache");

cache 屬性說明:

建構函式:

public cache(string name,

int maxelementsinmemory,

boolean overflowtodisk,

boolean eternal,

long timetoliveseconds,

long timetoidleseconds)

引數說明:

name :元素名字。

maxelementsinmemory :設定記憶體中建立物件的最大值。

overflowtodisk : 設定當記憶體中快取達到 maxinmemory 限制時元素是否可寫到磁碟上。

eternal : 設定元素是否永久駐留。

timetoidleseconds : 設定某個元素消亡前的停頓時間。也就是在乙個元素消亡之前,兩次訪問時間的最大時間間隔值。只能在元素不是永久駐留時有效。

timetoliveseconds : 設定某個元素消亡前的生存時間。也就是乙個元素從構建到消亡的最大時間間隔值。只能在元素不是永久駐留時有效。

刪除快取元素:

cachemanager singletonmanager = cachemanager.create();

singletonmanager.removecache("testcache");

關閉快取管理器 cachemanager

cachemanager.getinstance().shutdown();

對於快取物件的操作:

放入乙個簡單的物件到快取元素;

cache cache = manager.getcache("testcache");

element element = new element("key1", "value1");

cache.put(element);

得到乙個序列化後的物件屬性值;

cache cache = manager.getcache("testcache");

element element = cache.get("key1");

serializable value = element.getvalue();

得到乙個沒有序列化後的物件屬性值;

cache cache = manager.getcache("testcache");

element element = cache.get("key1");

object value = element.getobjectvalue();

刪除乙個物件從元素;

cache cache = manager.getcache("testcache");

element element = new element("key1", "value1");

cache.remove("key1");

對於永固性磁碟儲存,立即儲存到磁碟:

cache cache = manager.getcache("testcache");

cache.flush();

獲得快取大小:

得到快取的物件數量;

cache cache = manager.getcache("testcache");

int elementsinmemory = cache.getsize();

得到快取物件占用記憶體的數量

cache cache = manager.getcache("testcache");

long elementsinmemory = cache.getmemorystoresize();

得到快取對物件占用磁碟的數量

cache cache = manager.getcache("testcache");

long elementsinmemory = cache.getdiskstoresize();

關於快取的讀取和丟失的記錄:

得到快取讀取的命中次數;

cache cache = manager.getcache("testcache");

int hits = cache.gethitcount();

得到記憶體中快取讀取的命中次數;

cache cache = manager.getcache("testcache");

int hits = cache.getmemorystorehitcount();

得到磁碟中快取讀取的命中次數;

cache cache = manager.getcache("testcache");

int hits = cache.getdiskstorecount();

得到快取讀取的丟失次數;

cache cache = manager.getcache("testcache");

int hits = cache.getmisscountnotfound();

得到快取讀取的已經被銷毀的物件丟失次數;

cache cache = manager.getcache("testcache");

int hits = cache.getmisscountexpired();

Ehcache快取配置及使用

ehcache快取配置及使用 一 pom.xml新增依賴 pom.xml新增如下依賴 org.springframework.boot spring boot starter cache net.sf.ehcache ehcache ehcache作為快取 cache type ehcache eh...

Ehcache快取配置

cache配置 name cache的唯一標識 maxelementsinmemory 記憶體中最大快取物件數。maxelementsondisk 磁碟中最大快取物件數,若是0表示無窮大。eternal element是否永久有效,一但設定了,timeout將不起作用。overflowtodisk ...

ehcache簡單配置

timetoliveseconds和timetoidleseconds比較 只有在eternal為false時,這2個屬性才有效 現在假設有如下配置 timetoidleseconds 60 timetoliveseconds 180 則乙個資料被新增進快取後,該資料能夠在快取中存活的最長時間為18...