??? 一直以來懶得配置緩存,基本的緩存也就是orm層,基本上都交給hibernate去配置了。這段時間,感覺頁面速度太慢了,還是需要使用緩存。現(xiàn)在的緩存工具也挺多的,較不錯的屬ehcache和oscache了。決定分別研究一下。
??? 先來說說ehcache,目前的版本為1.2,已經(jīng)支持集群了。對于ehcache的使用,感覺很容易上手,基本上都是配置。以前在hibernate的時候配置過,所以也不是很陌生。API也挺簡單,如下的api:
??? CacheManager主要的緩存管理類,一般一個應用為一個實例,如下
??? CacheManager.create();也可以使用new CacheManager的方式創(chuàng)建
???? 默認的配置文件為ehcache.xml文件,也可以使用不同的配置:
??? ?
?
CacheManager manager = new CacheManager("src/config/other.xml");?? ?
緩存的創(chuàng)建,采用自動的方式?
CacheManager singletonManager = CacheManager.create();
singletonManager.addCache("testCache");
Cache test = singletonManager.getCache("testCache");?? ?
或者直接創(chuàng)建Cache?
CacheManager singletonManager = CacheManager.create();
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
manager.addCache(memoryOnlyCache);
Cache test = singletonManager.getCache("testCache");?? ?
刪除cache?
CacheManager singletonManager = CacheManager.create();
singletonManager.removeCache("sampleCache1");?? ?
在使用ehcache后,需要關閉?
CacheManager.getInstance().shutdown()?? ?
caches 的使用?
Cache cache = manager.getCache("sampleCache1");?? ?
執(zhí)行crud操作?
Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1");
cache.put(element);?? ?
update?
Cache cache = manager.getCache("sampleCache1");
cache.put(new Element("key1", "value1");
//This updates the entry for "key1"
cache.put(new Element("key1", "value2");?? ?
get Serializable?
Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Serializable value = element.getValue();?? ?
get non serializable?
Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Object value = element.getObjectValue();?? ?
remove?
Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1"
cache.remove("key1");?? ?
不過緩存還是基本上以配置方式為主,下一篇文章將會說明ehcache如何配置
?? ?
?? ?
?? ?
posted on 2007-02-28 20:14
布衣郎 閱讀(24210)
評論(15) 編輯 收藏 所屬分類:
jdk相關