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