将缓存的数据条目的时间戳重置为now()

时间:2019-04-27 18:36:51

标签: c# asp.net asp.net-core .net-core

我正在尝试重置缓存条目的时间戳。我想知道如何实现这一目标。

现在我正在创建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重置为从头开始计数。

1 个答案:

答案 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))