/**
* Reads a cache item's content
* @param key
* @return
*/
public Object getContent(String key) {
if (hasCache(key)) {
Cache cache = getCache(key);
if (cacheExpired(cache)) {
return null;
}
return cache.getValue();
} else {
return null;
}
}
/**
*
* @param key
* @param content
* @param ttl
*/
public void putContent(String key, Object content, long ttl) {
Cache cache = new Cache();
cache.setKey(key);
cache.setValue(content);
cache.setTimeOut(ttl + new Date().getTime());
cache.setExpired(false);
putCache(key, cache);
}
/** @modelguid {172828D6-3AB2-46C4-96E2-E72B34264031} */
private boolean cacheExpired(Cache cache) {
if (cache == null) {
return false;
}
long milisNow = new Date().getTime();
long milisExpire = cache.getTimeOut();
if (milisExpire < 0) { // Cache never expires
return false;
} else if (milisNow >= milisExpire) {
return true;
} else {
return false;
}
}
缓存对外接口:
存放有过期时间的缓存/没有过期时间,默认过期时间.
public void putContent(String key, Object content, long ttl)
public void putContent(String key, Object content)
获取缓存对象,如果为null或者过期了,返回null
public Object getContent(String key)
对外接口封装缓存的所有信息,只提供接口调用.