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);
}
}
}