boolean isKeyInCache(java.lang.Object key)
-
An inexpensive check to see if the key exists in the cache.
-
-
- Parameters:
-
key- the key to check for - Returns:
- true if an Element matching the key is found in the cache. No assertions are made about the state of the Element.
這個方法是Ehcache的方法,它只判斷key是否存在,並不判斷這個緩存元素過期沒有,所以當元素加入緩存時key就一直存在,所以就算元素過期,只要key被緩存過一次,這個方法就返回true,
即緩存元素被移除的話,key還存在。
程序就不能用這個方法來判斷緩存中是否存在這個某個緩存元素。
得用如下方法:
getQuiet
Element getQuiet(java.lang.Object key) throws java.lang.IllegalStateException, CacheException
-
Gets an element from the cache, without updating Element statistics. Cache statistics are also not updated.
-
-
- Parameters:
-
key- a serializable value - Returns:
- the element, or null, if it does not exist.
- Throws:
-
java.lang.IllegalStateException- if the cache is notStatus.STATUS_ALIVE -
CacheException - Since:
- 1.2
- See Also:
-
isExpired(net.sf.ehcache.Element)
isExpired
boolean isExpired(Element element) throws java.lang.IllegalStateException, java.lang.NullPointerException
-
Checks whether this cache element has expired.
The element is expired if:
- the idle time is non-zero and has elapsed, unless the cache is eternal; or
- the time to live is non-zero and has elapsed, unless the cache is eternal; or
- the value of the element is null.
-
-
- Parameters:
-
element- the element to check - Returns:
- true if it has expired
- Throws:
-
java.lang.IllegalStateException- if the cache is notStatus.STATUS_ALIVE -
java.lang.NullPointerException- if the element is null
示例代碼:
Element element=cache.getQuiet(key);
log.info("element:"+element);
if(element!=null)
{
log.info("cache.isExpired(element):"+cache.isExpired(element));
log.info("cacheName:" + cacheName + " key:" + key + " isExist:true");
return true;
}
else{
log.info("cacheName:" + cacheName + " key:" + key + " isExist:false");
return false;
}
