什么意思是元素在Ehcache中过期了

时间:2010-12-15 07:40:35

标签: java ehcache

当我使用Ehcache时,有些东西我无法理解,这意味着元素已过期,如果元素过期则意味着缓存将清除元素并且它将不再存在?或者它也存在但你无法得到它。这是我写的代码,我从xml获取数据并像这样判断

public Object get(Class classObj, String nodeName, String fileName) {
    Object obj = null;

    if (!ehcacheVindicator.getCache().isDisabled()&&ehcacheVindicator.getCache().isKeyInCache(nodeName)) {
        Element element = ehcacheVindicator.getCache().get(nodeName);
        if (ehcacheVindicator.getCache().isExpired(element)){
            obj = readObject(classObj, fileName, nodeName);// read object from xml file
            updateObject(nodeName,obj);
        }
        else
            obj = getObject(nodeName); // get object from cache
    } else {
        obj = readObject(classObj, fileName, nodeName); // read object from
        // xml file
        addObject(nodeName, obj); // add object to cache
    }
    return obj;
}

无法告诉我这是不是错了?

1 个答案:

答案 0 :(得分:1)

您可以使用属性timeToLiveSeconds(在xml配置文件中)将ehcache设置为在一段有限的时间内缓存对象

  

timeToLiveSeconds:       设置元素到期前的生存时间。       即创建时间和元素之间的最长时间   到期。       仅在元素不是永恒时使用。       可选属性。值为0意味着和Element可以生存   无穷。       默认值为0.

更多信息here