C# asp.net 緩存幫助類相關

    public class CacheHelper
    {
        private static List<string> _allCacheKey = new List<string>();
        private static ObjectCache _cache = MemoryCache.Default;
        /// <summary>
        /// 添加緩存
        /// </summary>
        /// <param name="key">Key 唯一</param>
        /// <param name="value">值</param>
        /// <param name="cacheOffset">超時時間</param>
        public static void Add(string key, object value, DateTimeOffset cacheOffset)
        {
            if (_allCacheKey.Contains(key))
            {
                Remove(key);
            }
            _allCacheKey.Add(key);
            _cache.Add(key, value, cacheOffset);
        }

        /// <summary>
        /// 移除緩存
        /// </summary>
        /// <param name="key">Key</param>
        public static void Remove(string key)
        {
            if (_allCacheKey.Contains(key))
            {
                _allCacheKey.Remove(key);
            }
            _cache.Remove(key);
        }

        /// <summary>
        /// 讀取緩存
        /// </summary>
        /// <param name="key">Key</param>
        /// <returns></returns>
        public static object Read(string key)
        {
            if (_allCacheKey.Contains(key))
                return _cache[key];
            return null;
        }

        /// <summary>
        /// 清除所有緩存
        /// </summary>
        public static void Clear()
        {
            foreach (string value in _allCacheKey)
            {
                _cache.Remove(value);
            }
            _allCacheKey.Clear();
        }
    }
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章