缓存与过期缓存.

阅读更多
 /**
     * 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)

对外接口封装缓存的所有信息,只提供接口调用.

你可能感兴趣的:(Cache)