缓存一个List 泛型结构
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); ) { DTcms.Common.CacheHelper.Insert(); list = DTcms.Common.CacheHelper.Get<List<Personal>>(key); } return list; }
3.创建数据源
//创建数据源 public List<Personal> Create() { List<Personal> list = new List<Personal>(); ; i < ; 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