/** 取一个缓存 */ public <F> V hget(K key, F field) { readLock.lock(); try { Map<?, CacheObject<K, V>> coMap = _hCache.get(key); if (null == coMap) { return null; } CacheObject<K, V> co = coMap.get(field); if (null == co) { return null; } if (co.isExpired() == true) { coMap.remove(field); return null; } return co.getValue(); } finally { readLock.unlock(); } }
/** 取一个缓存 */ public V get(K key) { readLock.lock(); try { CacheObject<K, V> co = _mCache.get(key); if (co == null) { return null; } if (co.isExpired() == true) { _mCache.remove(key); return null; } return co.getValue(); } finally { readLock.unlock(); } }
/** {@inheritDoc} */ public V get(K key) { readLock.lock(); try { CacheObject<K, V> co = cacheMap.get(key); if (co == null) { missCount++; return null; } if (co.isExpired() == true) { // remove(key); // can't upgrade the lock cacheMap.remove(key); missCount++; return null; } hitCount++; return co.getObject(); } finally { readLock.unlock(); } }