/// <summary> /// 移出缓存 /// </summary> /// <param name="key"></param> /// <returns></returns> public TValue Remove(TKey key) { TValue value; CACHE_POOL.TryRemove(key, out value); if (CACHE_POOL_LastAccessTime != null) { DateTime lastAccessTime; CACHE_POOL_LastAccessTime.TryRemove(key, out lastAccessTime); } if (CACHE_POOL_CreateTime != null) { DateTime createTime; CACHE_POOL_CreateTime.TryRemove(key, out createTime); } return(value); }
/// <summary> /// 获取缓存 /// </summary> /// <param name="key"></param> /// <returns></returns> public TValue Get(TKey key) { if (!IsDefault <TKey>(key)) { if (CACHE_POOL.ContainsKey(key)) { if (CACHE_POOL_LastAccessTime != null) { if (CACHE_POOL_LastAccessTime.ContainsKey(key)) { CACHE_POOL_LastAccessTime[key] = DateTime.Now; } else { CACHE_POOL_LastAccessTime.TryAdd(key, DateTime.Now); } } return(CACHE_POOL[key]); } } return(default(TValue)); }