using System; using System.Configuration; using System.Web; using System.Web.Caching; namespace BatchService.Framework.Utility { /// /// 本地缓存帮助类 /// public class Caching { /// /// 本地缓存获取 /// /// key /// public static object Get(string name) { return HttpRuntime.Cache.Get(name); } /// /// 本地缓存移除 /// /// key public static void Remove(string name) { if (HttpRuntime.Cache[name] != null) HttpRuntime.Cache.Remove(name); } /// /// 本地缓存写入(默认缓存20min) /// /// key /// value public static void Set(string name, object value) { Set(name, value, null); } /// /// 本地缓存写入(默认缓存20min),依赖项 /// /// key /// value /// 依赖项 public static void Set(string name, object value, CacheDependency cacheDependency) { HttpRuntime.Cache.Insert(name, value, cacheDependency, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(20)); } /// /// 本地缓存写入 /// /// key /// value /// 缓存分钟 public static void Set(string name, object value, int minutes) { HttpRuntime.Cache.Insert(name, value, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(minutes)); } /// /// 本地缓存写入,包括分钟,是否绝对过期及缓存过期的回调 /// /// key /// value /// /// 是否绝对过期 /// 缓存过期回调 public static void Set(string name, object value, int minutes, bool isAbsoluteExpiration, CacheItemRemovedCallback onRemoveCallback) { if (isAbsoluteExpiration) HttpRuntime.Cache.Insert(name, value, null, DateTime.Now.AddMinutes(minutes), Cache.NoSlidingExpiration, CacheItemPriority.Normal, onRemoveCallback); else HttpRuntime.Cache.Insert(name, value, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(minutes), CacheItemPriority.Normal, onRemoveCallback); } } }