MemoryCache absoluteExpiration 和内存限制

MemoryCache absoluteExpiration and memory limit

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

如果我使用以下方式从 MemoryCache 添加和检索对象,absoluteExpiration 设置为什么:

cache['cacheItem'] = testObject;

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

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

提前致谢。

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

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

添加的条目将具有默认的过期时间,该时间是无限的(即不会过期)。有关详细信息,请参阅 MSDN on CacheItemPolicy.AbsoluteExpiration

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

The default is zero, which indicates that MemoryCache instances manage their own memory based on the amount of memory that is installed on the computer.

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