/** * 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)
对外接口封装缓存的所有信息,只提供接口调用.