我正在编写一个MVC 5互联网应用程序,并使用MemoryCache
对象来缓存对象。我看到使用MemoryCache.Set
方法,可以指定absoluteExpiration
。
如果我使用以下方式从MemoryCache
添加和检索对象,那么absoluteExpiration
设置为:
cache['cacheItem'] = testObject;
TestObject testObject = cache['cacheItem'] as TestObject;
此外,在MVC Internet应用程序中使用MemoryCache
时,我应该设置可用于MemoryCache
的内存量,还是Azure网站的默认实现安全性?
提前致谢。
答案 0 :(得分:4)
您的代码等同于调用Add,如下所示:
cache.Add("cacheItem", testObject, null);
添加的条目将具有默认的到期时间,该时间是无限的(即,它不会过期)。有关详细信息,请参阅MSDN on CacheItemPolicy.AbsoluteExpiration。
回答有关内存使用的问题:(来自CacheMemoryLimitMegabytes属性):
默认值为零,表示MemoryCache实例根据计算机上安装的内存量管理自己的内存。
我会说让MemoryCache默认决定使用多少内存是安全的,除非你做的事情非常棒。