C# 缓存操作类


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Caching;

namespace HuaTong.General.Utility
{
    /// <summary>
    /// 缓存操作,默认缓存1分钟
    /// </summary>
    public static class CacheHelper
    {
        static int cacheTime = 1;

        /// <summary>
        /// 读取缓存项
        /// </summary>
        /// <returns></returns>
        public static object CacheReader(string cacheKey)
        {
            return HttpRuntime.Cache[cacheKey];
        }

        /// <summary>
        /// 写入缓存项
        /// </summary>
        public static void CacheWriter(string cacheKey, object cacheValue, int cache_time = 0)
        {
            HttpRuntime.Cache.Insert(cacheKey, cacheValue, null,
                DateTime.Now.AddMinutes(cache_time <= 0 ? cacheTime : cache_time),
                Cache.NoSlidingExpiration);
        }

        /// <summary>
        /// 移除指定缓存项
        /// </summary>
        public static void CacheRemove(string cacheName)
        {
            HttpRuntime.Cache.Remove(cacheName);
        }

        /// <summary>
        /// 缓存对象泛型实现
        /// </summary>
        public static T ObjectReader<T>(string cacheKey = null)
            where T : class
        {
            string cachekey = typeof(T).GetHashCode() + StringHelper.ToString(cacheKey);
            var obj = CacheReader(cachekey) as T;
            return obj;
        }

        /// <summary>
        /// 缓存对象泛型实现
        /// </summary>
        public static void ObjectWriter<T>(T cacheValue, string cacheKey = null, int cache_time = 0)
            where T : class
        {
            string cachekey = typeof (T).GetHashCode() + StringHelper.ToString(cacheKey);
            CacheWriter(cachekey, cacheValue, cache_time);
        }
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM