public class CacheHelper
{
private static List<string> _allCacheKey = new List<string>();
private static ObjectCache _cache = MemoryCache.Default;
/// <summary>
/// 添加緩存
/// </summary>
/// <param name="key">Key 唯一</param>
/// <param name="value">值</param>
/// <param name="cacheOffset">超時時間</param>
public static void Add(string key, object value, DateTimeOffset cacheOffset)
{
if (_allCacheKey.Contains(key))
{
Remove(key);
}
_allCacheKey.Add(key);
_cache.Add(key, value, cacheOffset);
}
/// <summary>
/// 移除緩存
/// </summary>
/// <param name="key">Key</param>
public static void Remove(string key)
{
if (_allCacheKey.Contains(key))
{
_allCacheKey.Remove(key);
}
_cache.Remove(key);
}
/// <summary>
/// 讀取緩存
/// </summary>
/// <param name="key">Key</param>
/// <returns></returns>
public static object Read(string key)
{
if (_allCacheKey.Contains(key))
return _cache[key];
return null;
}
/// <summary>
/// 清除所有緩存
/// </summary>
public static void Clear()
{
foreach (string value in _allCacheKey)
{
_cache.Remove(value);
}
_allCacheKey.Clear();
}
}