常用工具类8-缓存类

public static class CacheHelper
{
static Cache _cache = HttpRuntime.Cache;

/// <summary>
/// 获取缓存
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static object Get(string key)
{
return _cache.Get(key);
}

/// <summary>
/// 设置缓存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Set(string key, object value)
{
_cache.Insert(key, value);
}

/// <summary>
/// 设置指定时间内有效的缓存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expireSeconds">缓存有效时间,单位秒</param>
public static void Set(string key, object value, long expireSeconds)
{
_cache.Insert(key, value, null, DateTime.UtcNow.AddSeconds(expireSeconds), TimeSpan.Zero);
}

/// <summary>
/// 清除指定key的缓存内容
/// </summary>
/// <param name="key"></param>
public static void Remove(string key)
{
_cache.Remove(key);
}

/// <summary>
/// 清除关键字为某一指定前缀的所有缓存内容
/// </summary>
/// <param name="keyPrefix">缓存关键字前缀</param>
public static void RemoveCacheByKeyPrefix(string keyPrefix)
{
System.Web.Caching.Cache _cache = HttpRuntime.Cache;
IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
ArrayList al = new ArrayList();
while (CacheEnum.MoveNext())
{
if (CacheEnum.Key.ToString().StartsWith(keyPrefix))
{
al.Add(CacheEnum.Key);
}
}

foreach (string key in al)
{
_cache.Remove(key);
}
}

/// <summary>
/// 清除所有缓存内容
/// </summary>
public static void RemoveAllCache()
{
System.Web.Caching.Cache _cache = HttpRuntime.Cache;
IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
ArrayList al = new ArrayList();
while (CacheEnum.MoveNext())
{
al.Add(CacheEnum.Key);
}

foreach (string key in al)
{
_cache.Remove(key);
}
}
}