我正在尝试重置缓存条目的时间戳。我想知道如何实现这一目标。
现在我正在创建MemoryCacheEntryOptions
的新实例
private MemoryCacheEntryOptions GetCacheOptions()
{
return new MemoryCacheEntryOptions()
.SetSlidingExpiration(TimeSpan.FromSeconds(20)); // Cache for some seconds.
}
我希望每次SetSlideExpiration()
中存在缓存数据时,都可以重置MemoryCacheEntry
从零(0)秒开始计数。
如果
public bool hasCached(string key, byte[] values)
{
return _memoryCache.TryGetValue(GetDocStoreKey(key), out values);
}
返回true
,我应该能够将SetSlideExpiration重置为从头开始计数。
答案 0 :(得分:0)
SetSlidingExpiration(TimeSpan.FromSeconds(20))
将在每次访问缓存中的项目时自动重置缓存时间戳
public object GetFile(string key)
{
return (_memoryCache.Get(Cache(key));
}
因此,如果这样访问缓存条目resultFromCache = _cacheServiceClass.GetFile(cacheKey);
,则MemoryCacheEntryOptions()将重置
每次SetSlidingExpiration(TimeSpan.FromSeconds(20))
。