using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Caching; namespace ClusterService.Common { public static class CacheHelper { public static object Cache(string key) { return HttpRuntime.Cache[key]; } public static void Cache(string key, object value) { HttpRuntime.Cache.Insert(key, value); } public static void Cache(string key, object value, DateTime utcDate) { HttpRuntime.Cache.Insert(key, value, null, utcDate, System.Web.Caching.Cache.NoSlidingExpiration); } public static void Cache(string key, object value, TimeSpan span) { HttpRuntime.Cache.Insert(key, value, null, System.Web.Caching.Cache.NoAbsoluteExpiration, span); } public static void Cache(string key, object value, DateTime utcDate, CacheItemPriority priority, CacheItemRemovedCallback callback) { HttpRuntime.Cache.Insert(key, value, null, utcDate, System.Web.Caching.Cache.NoSlidingExpiration, priority, callback); } public static void Cache(string key, object value, TimeSpan span, CacheItemPriority priority, CacheItemRemovedCallback callback) { HttpRuntime.Cache.Insert(key, value, null, System.Web.Caching.Cache.NoAbsoluteExpiration, span, priority, callback); } public static void Expire(string key) { var cache = HttpRuntime.Cache; if (cache[key] != null) { cache.Remove(key); } } [Obsolete("谨慎使用")] public static void ExpireStartsWith(string key) { var cache = HttpRuntime.Cache; var tor = cache.GetEnumerator(); while (tor.MoveNext()) { string itemKey = tor.Key.ToString(); if (itemKey.StartsWith(key)) { cache.Remove(itemKey); } } } } }