Exemplo n.º 1
0
  /** 取一个缓存 */
  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();
    }
  }
Exemplo n.º 2
0
 /** 取一个缓存 */
 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();
   }
 }
Exemplo n.º 3
0
  /** {@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();
    }
  }