using System; using System.Collections; using System.Web; namespace Cache { /// /// 缓存操作 /// public class WebCache : ICache { private static readonly System.Web.Caching.Cache cache = HttpRuntime.Cache; /// /// 读取缓存 /// /// 键 /// public T GetCache(string cacheKey) where T : class { if (cache[cacheKey] != null) { return (T)cache[cacheKey]; } return default(T); } /// /// 写入缓存 /// /// 对象数据 /// 键 public void WriteCache(T value, string cacheKey) where T : class { cache.Insert(cacheKey, value, null, DateTime.Now.AddMinutes(10), System.Web.Caching.Cache.NoSlidingExpiration); } /// /// 写入缓存 /// /// 对象数据 /// 键 /// 到期时间 public void WriteCache(T value, string cacheKey, DateTime expireTime) where T : class { cache.Insert(cacheKey, value, null, expireTime, System.Web.Caching.Cache.NoSlidingExpiration); } /// /// 移除指定数据缓存 /// /// 键 public void RemoveCache(string cacheKey) { if (cacheKey.Equals("All")) { this.RemoveCache(); } else { cache.Remove(cacheKey); } } /// /// 移除全部缓存 /// public void RemoveCache() { IDictionaryEnumerator cacheEnum = cache.GetEnumerator(); while (cacheEnum.MoveNext()) { if (cacheEnum.Key != null) cache.Remove(cacheEnum.Key.ToString()); } } } }