为什么我在asp.net中删除了存储在缓存中的数据

时间:2015-02-14 11:24:19

标签: c# asp.net caching

我决定将我的数据存储在我的网站速度缓存中的国家,州,城市,书籍和其他数据列表中,但我发现当缓存项目数为10且Cache.EffectivePercentagePhysicalMemoryLimit为98时我添加了我的数据要缓存,但其他数据会被删除。

我将缓存过期时间设置为20分钟。我应该如何设置缓存大小?我该怎么处理这个问题?为什么我在asp.net中删除了存储在缓存中的数据

在下面的代码我设置了一个断点,该方法返回一个空列表,当我检查其他数据,如国家和州,他们已从缓存中删除

var cahpters= CacheData.Data.Chapter.list(bookid.ToString());

1 个答案:

答案 0 :(得分:1)

  

为什么我在asp.net中删除了存储在缓存中的数据

在以下情况下,可以将对象明确地从缓存中取出:

  • 通过致电Remove
  • 明确表示
  • 数据到期
  • 内存消耗
    • 首先删除低优先级缓存数据

最有可能的情况是你有巨大的内存消耗所以ASP.NET决定通过从缓存中删除你的项来节省内存。

此外可以注册删除通知(包括原因)。点击此处了解详情:https://msdn.microsoft.com/en-us/library/7kxdx246%28v=vs.140%29.aspx