【问题标题】:MemoryCache save to fileMemoryCache 保存到文件
【发布时间】:2012-03-27 09:52:15
【问题描述】:

我正在使用 MemoryCache 在我的 MVC Web 应用程序中缓存值。是否可以将 MemoryCache 集合值保存到文件中,然后再加载它们?

【问题讨论】:

    标签: .net c#-4.0 memorycache


    【解决方案1】:

    认为理论上可行,使用反射将所有数据复制到一些简单的 json 对象,然后将其序列化为字符串并存储在磁盘上。当需要检索对象时,需要再次借助反射从 json 构建新的 MemoryCache 实例。

    也许它还有一些带有二进制序列化或将对象转换为字节流然后保存的变体。

    【讨论】:

      【解决方案2】:

      你可以Microsoft docs

      这是一个样本

      public static class Cashing
          {
              public static void SetData<T>(string CacheKey, T data)
              {
                  ObjectCache cache = MemoryCache.Default;
                  if (cache.Contains(CacheKey))
                      cache.Remove(CacheKey);
                  CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
                  cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddHours(1.0);
                  cache.Add(CacheKey, data, cacheItemPolicy);
              }
      
              public static object GetData<T>(string CacheKey)
              {
                  ObjectCache cache = MemoryCache.Default;
                  if (cache.Contains(CacheKey))
                      return cache.Get(CacheKey);
                  return default(T);
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2014-02-22
        • 1970-01-01
        • 2017-11-18
        • 2013-01-02
        • 2012-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多