Newer
Older
SensorHub / SensorHub.Servers / CacheHelper.cs
root on 17 Sep 2021 1 KB first commit
using System;
using System.Web;
using System.Collections;
using System.Runtime.Caching;
using System.IO;

 
public class CacheHelper
{
    private static MemoryCache memoryCache = new MemoryCache("Config");

    /// <summary>
    /// 获取数据缓存
    /// </summary>
    /// <param name="cacheKey">键</param>
    public static object GetCache(string cacheKey)
    {
        return memoryCache.Get(cacheKey);
    }

    /// <summary>
    /// 设置数据缓存
    /// </summary>
    public static void SetCache(string cacheKey, object objObject, int seconds = 24*60*60)
    {
        var cachePolicy = new CacheItemPolicy();
        cachePolicy.AbsoluteExpiration = DateTimeOffset.Now.Add(TimeSpan.FromSeconds(seconds));
        memoryCache.Set(cacheKey, objObject, cachePolicy);
    }

    /// <summary>
    /// 移除指定数据缓存
    /// </summary>
    public static void RemoveCache(string cacheKey)
    {
        memoryCache.Remove(cacheKey);
        
    }

    ///// <summary>
    ///// 移除全部缓存
    ///// </summary>
    //public static void RemoveAllCache()
    //{
    //    var cache = HttpRuntime.Cache;
    //    var cacheEnum = cache.GetEnumerator();
    //    while (cacheEnum.MoveNext())
    //    {
    //        cache.Remove(cacheEnum.Key.ToString());
    //    }
    //}
}