using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Caching; namespace RoadFlow.Cache.InProc { /// /// .net自带缓存类 /// public class Cache : Interface.ICache { public static object LockObject = new object(); private System.Web.Caching.Cache cache = HttpContext.Current.Cache; /// /// 插入缓存 /// /// /// /// public bool Insert(string key, object obj) { if (obj == null) return false; lock (LockObject) { cache.Insert(key, obj, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration); } return true; } /// /// 插入缓存 /// /// /// /// public bool Insert(string key, object obj, DateTime expiry) { if (obj == null) return false; lock (LockObject) { cache.Insert(key, obj, null, expiry, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Normal, null); } return true; } /// /// 获取缓存 /// /// /// public object Get(string key) { return cache.Get(key); } /// /// 移出缓存 /// /// public bool Remove(string key) { object lockObj = new object(); lock (lockObj) { cache.Remove(key); } return true; } /// /// 移出所有缓存 /// /// public void RemoveAll() { for (int i = 0; i < cache.Count; i++) { } } } }