HttpRuntime.Cache缓存数据

来源:互联网 发布:外国域名注册网站 编辑:程序博客网 时间:2024/04/28 12:15


 public static class DataTableCaches    {        #region 属性方法过时记录器 2012-01-10 李云        /// <summary>        /// 给静态属性设置一个过期时间——用于数据库表缓存        /// </summary>        private static DateTime dTableTimer;        /// <summary>        /// 给静态属性设置一个过期时间——用于数据库表缓存        /// </summary>        public static DateTime DTableTimer        {            get { return dTableTimer; }            set { dTableTimer = value; }        }        public static int hour = 0;//web.config时间配置转换        #endregion        #region 表数据缓存        public static void SetUzaiDataTabaleCache(string key, object value)        {            if (HttpRuntime.Cache[key] == null || DateTime.Now > DTableTimer)            {                if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["static_cache"]) && int.TryParse(ConfigurationManager.AppSettings["static_cache"], out hour))//是否链接外数据库Static                    DTableTimer = DateTime.Now.AddHours(hour);//给静态属性设置一个过期时间                else                    DTableTimer = DateTime.Now.AddHours(2);                HttpRuntime.Cache.Insert(key, value, null, dTableTimer, TimeSpan.Zero, CacheItemPriority.Low, null);            }        }        /// <summary>        /// 表数据缓存        /// </summary>        public static void SetUzaiDataTabaleCache(string key, object value, int hours)        {            if (HttpRuntime.Cache[key] == null || DateTime.Now > DTableTimer)            {                DTableTimer = DateTime.Now.AddHours(hours);                HttpRuntime.Cache.Insert(key, value, null, dTableTimer, TimeSpan.Zero, CacheItemPriority.Low, null);            }        }        #endregion    }


 List<TravelProductInfo> listTravelProductInfo = new List<TravelProductInfo>();            string cacheName = "TravelProductInfoSelect";            if (HttpRuntime.Cache[cacheName] == null)//没有缓存 即时查询            {                List<TravelProductInfo> list = m_ProductDAL.TravelProductInfoSelect();                if (list != null && list.Count > 0)                {                    foreach (TravelProductInfo model in list)                    {                        listTravelProductInfo.Add(new TravelProductDAL().TravelProductDetatilSelect_B5M(model));                    }                    DataTableCaches.SetUzaiDataTabaleCache(cacheName, listTravelProductInfo, 4);//产品每4小时更新一次                }            }            else            {                listTravelProductInfo = HttpRuntime.Cache[cacheName] as List<TravelProductInfo>;            }


1 0
原创粉丝点击