我听说.NET 4有一个新的缓存API。
好吧,那么好古老的System.Web.Caching.Cache
(顺便说一下,在.NET 4中仍然存在)具有设置所谓的CacheDependency
对象的能力,以确定缓存项是否已过期。
通过从CacheDependency
派生自定义子类,还可以指定用于确定缓存项是否仍可用的自定义逻辑。
我很好奇,在新的API中是否有提供这样的逻辑?
我听说.NET 4有一个新的缓存API。
好吧,那么好古老的System.Web.Caching.Cache
(顺便说一下,在.NET 4中仍然存在)具有设置所谓的CacheDependency
对象的能力,以确定缓存项是否已过期。
通过从CacheDependency
派生自定义子类,还可以指定用于确定缓存项是否仍可用的自定义逻辑。
我很好奇,在新的API中是否有提供这样的逻辑?
使用 System.Web.Caching.Cache
和 CacheDependency
构建的示例代码如下:
CacheDependency cacheDependency = new System.Web.Caching.CacheDependency(null, new string[] { "dependentOnThisKey" });
cacheInstance.Add("someCacheKey", new object(), cacheDependency);
使用System.Runtime.Caching
,可以将其转移到CacheItemPolicy
ChangeMonitors。上面的示例变为以下内容:
CacheItemPolicy policy = new CacheItemPolicy();
policy.ChangeMonitors.Add(MemoryCache.Default.CreateCacheEntryChangeMonitor(new List<string> { "dependentOnThisKey" }));
cacheInstance.Add("someCacheKey", new object(), policy);