我试图缓存一些值,我的目标是保存它们,直到它们被覆盖。所以从根本上说,它们不应该过期。
var memoryCache = MemoryCache.Default;
if (!memoryCache.Contains("data"))
{
var timer = DateTimeOffset.UtcNow.AddMinutes(1);
var data = jsonContent;
memoryCache.Add("data", data, timer);
}如何绕过到期参数?我读过一些关于CacheItemPolicy的文章,但我不明白。
谢谢你提前提供帮助。
发布于 2019-03-22 13:15:33
查看文档,您似乎可以将CacheItemPolicy对象上的CacheItemPolicy属性设置为NoSlidingExpiration,这似乎表明它不会过期,请参阅这里
如果将NoSlidingExpiration字段值设置为过期值插入缓存中,则不应因为滑动时间窗口中的非活动而取消缓存项。
这样你就可以做如下的事情:
memoryCache.Add(new CacheItem("data", data), new CacheItemPolicy
{
SlidingExpiration = System.Runtime.Caching.NoSlidingExpiration
});请注意上面的代码可能无法编译,这只是一个如何使用它的例子。
https://stackoverflow.com/questions/55300008
复制相似问题