使用ehcache
一直以來懶得配置緩存,基本的緩存也就是orm層,基本上都交給hibernate去配置了。這段時間,感覺頁面速度太慢了,還是需要使用緩存。現在的緩存工具也挺多的,較不錯的屬ehcache和oscache了。決定分別研究一下。
先來說說ehcache,目前的版本為1.2,已經支持集群了。對于ehcache的使用,感覺很容易上手,基本上都是配置。以前在hibernate的時候配置過,所以也不是很陌生。API也挺簡單,如下的api:
CacheManager主要的緩存管理類,一般一個應用為一個實例,如下
CacheManager.create();也可以使用new CacheManager的方式創建
默認的配置文件為ehcache.xml文件,也可以使用不同的配置:
CacheManager manager = new CacheManager("src/config/other.xml");
緩存的創建,采用自動的方式
CacheManager singletonManager = CacheManager.create();
singletonManager.addCache("testCache");
Cache test = singletonManager.getCache("testCache");
或者直接創建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");
執行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如何配置