使用一个cache时,ehcache.xml中完全按照以下代码配置:
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU" />
<cache name="jsArray" maxElementsInMemory="1000" eternal="false"
overflowToDisk="false" timeToIdleSeconds="43200"
timeToLiveSeconds="43200" memoryStoreEvictionPolicy="LFU" />
jsArray是随意给的一个名称,。
缓存要用到3个类
import net.sf.ehcache.Cache;
import net.sf.ehcache.Element;
import net.sf.ehcache.CacheManager;
Ehcache包中有两个类:第一个负责创建一个cache对象并return它,返回它的方法有一个参数,就是随意给的名称jsArray,在第二个类中得到该对象,并有两个方法。
public static Object getValue(String key) {
Element e = (Element) cache.get(key);
if (e != null)
return e.getValue();
else
return null;
}
public static void setValue(String key, Object obj) {
// 如果存在先删除
if (cache.isKeyInCache(key)) {
cache.remove(key);
}
// 将新的数据放进缓存
Element e = new Element(key, obj);