Example #1
0
        /// <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);
        }
Example #2
0
 /// <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));
 }