webapi缓存 System.Runtime.Caching

webapi缓存添加
缓存操作类:
复制代码
  public class MemoryCacheDefault
    {
        private static readonly MemoryCache _cache = MemoryCache.Default;

        public void RemoveStartsWith(string key)
        {
            lock (_cache)
            {
                _cache.Remove(key);
            }
        }

        public T Get<T>(string key) where T : class
        {
            var o = _cache.Get(key) as T;
            return o;
        }



        [Obsolete("Use Get<T> instead")]
        public object Get(string key)
        {
            return _cache.Get(key);
        }


        public void Remove(string key)
        {
            lock (_cache)
            {
                _cache.Remove(key);
            }
        }

        public bool Contains(string key)
        {
            return _cache.Contains(key);
        }

        public void Add(string key, object o, DateTimeOffset expiration)
        {
            var cachePolicy = new CacheItemPolicy
            {
                AbsoluteExpiration = expiration
            };
            lock (_cache)
            {
                _cache.Set(key, o, cachePolicy);
            }
        }


        public IEnumerable<string> AllKeys
        {
            get
            {
                return _cache.Select(x => x.Key);
            }
        }
    }
View Code
复制代码

  

 

 

复制代码
  MemoryCacheDefault _cache = new MemoryCacheDefault();

  _cache.Add(cacheKey, new AjaxResult(token.access_token), DateTimeOffset.Now.AddSeconds(6000));


  if (_cache.Contains(cacheKey) == true)
  {
     var content = _cache.Get<AjaxResult>(cacheKey);      
  }
复制代码

 

posted @   凉生凉忆亦凉心  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示