Сброс метки времени кэшированного ввода данных в now () - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь сбросить метку времени в кэшированной записи.Я хочу знать, как этого добиться.

Сейчас я создаю новый экземпляр MemoryCacheEntryOptions

        private MemoryCacheEntryOptions GetCacheOptions()
        {
            return new MemoryCacheEntryOptions()
                .SetSlidingExpiration(TimeSpan.FromSeconds(20)); // Cache for some seconds.
        }  

Я хочу иметь возможность сбросить SetSlideExpiration(), чтобы начать подсчетот нуля (0) секунды, каждый раз, когда кэшированные данные присутствуют в MemoryCacheEntry.

Так что, если


public bool hasCached(string key, byte[] values)
{
  return _memoryCache.TryGetValue(GetDocStoreKey(key), out values);
}

вернет true, я смогу сбросить SetSlideExpiration, чтобы начать отсчет с начала.

1 Ответ

0 голосов
/ 01 мая 2019

SetSlidingExpiration(TimeSpan.FromSeconds(20)) будет автоматически сбрасывать метку времени кеша каждый раз при доступе к элементу в кеше

 public object GetFile(string key)
 {
   return (_memoryCache.Get(Cache(key));
 }

Так что, если запись в кеше была такой, как этот resultFromCache = _cacheServiceClass.GetFile(cacheKey); MemoryCacheEntryOptions () сбросит SetSlidingExpiration(TimeSpan.FromSeconds(20)) каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...