ASP.NET-【缓存】-使用ASP.NET缓存

缓存一个List 泛型结构

1.显示
            var s = Get("personsl");
            foreach (var item in s)
            {
                Response.Write(item.Name);
            }

2.获得数据

        //获得数据
        public List<Personal> Get(string key)
        {
            List<Personal> list = DTcms.Common.CacheHelper.Get<List<Personal>>(key);
            if (list == null || list.Count == 0)
            {
                DTcms.Common.CacheHelper.Insert("personsl", Create(), 30);
                list = DTcms.Common.CacheHelper.Get<List<Personal>>(key);
            }
            return list;
        }

3.创建数据源

        //创建数据源
        public List<Personal> Create()
        {
            List<Personal> list = new List<Personal>();
            for (int i = 0; i < 10; i++)
            {
                Personal p = new Personal(i.ToString(), "xiaoming" + i);
                list.Add(p);
            }
            return list;
        }
    //数据对象
    public class Personal
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public Personal(string id, string name)
        {
            this.ID = id;
            this.Name = name;
        }
    }

4.查看缓存个数

//异常不能示例话的
Response.Write(new System.Web.Caching.Cache().Count);
Response.Write(HttpRuntime.Cache.Count);

5.Cache 的绝对到期与滑动到期
绝对到期:设置绝对过期时间 到了指定时间以后会失效。(类似Cookie机制)
相对到期也称滑动到期:设置相对过期时间 指定时间内无访问会失效。(类似Session机制)

HttpRuntime.Cache与HttpContext.Current.Cache 为同一个对象
HttpRuntime.Cache.Add 存在相同的键会异常,返回缓存成功的对象 HttpRuntime.Cache.Insert存在相同的键会替换无返回值

HttpRuntime.Cache["key"] 使用字典的方式也可以读取和设置
HttpRuntime.Cache.Insert(key, value, null, DateTime.Now.AddSeconds(seconds), TimeSpan.Zero); //设置绝对过期时间 到了指定时间以后会失效 ps: TimeSpan.Zero == System.Web.Caching.Cache.NoSlidingExpiration
HttpRuntime.Cache.Insert(key, value, null, DateTime.MaxValue, TimeSpan.FromSeconds(seconds)); //设置相对过期时间 指定时间内无访问会失效 ps: DateTime.MaxValue == System.Web.Caching.Cache.NoAbsoluteExpiration

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。