【问题标题】:MemoryCache absoluteExpiration and memory limitMemoryCache absoluteExpiration 和内存限制
【发布时间】:2015-01-14 02:06:52
【问题描述】:

我正在编写一个 MVC 5 互联网应用程序,并且正在使用 MemoryCache 对象来缓存对象。我看到使用MemoryCache.Set方法,可以指定absoluteExpiration

如果我使用下面的方式在MemoryCache 中添加和检索对象,absoluteExpiration 设置为:

cache['cacheItem'] = testObject;

TestObject testObject = cache['cacheItem'] as TestObject;

另外,当在 MVC Internet 应用程序中使用 MemoryCache 时,我应该设置可用于 MemoryCache 的内存量,还是默认实现对于 Azure 网站足够安全?

提前致谢。

【问题讨论】:

    标签: c# datetime azure asp.net-mvc-5 memorycache


    【解决方案1】:

    您的代码相当于调用 Add,如下所示:

    cache.Add("cacheItem", testObject, null);
    

    添加的条目将具有默认的过期时间,该时间是无限的(即它不会过期)。详情请见MSDN on CacheItemPolicy.AbsoluteExpiration

    回答关于内存使用的问题:(来自CacheMemoryLimitMegabytes属性):

    默认为零,表示 MemoryCache 实例根据计算机上安装的内存量管理自己的内存。

    我会说让 MemoryCache 默认值来决定使用多少内存是安全的,除非你正在做一些真正花哨的事情。

    【讨论】:

    • 抱歉,我没有发布添加到缓存的代码。我的代码是否与您的答案中的代码达到相同的结果?
    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2016-11-26
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多