ICacheEntry中SlidingExpiration与AbsoluteExpirationRelativeToNow的区别

AbsoluteExpirationRelativeToNow:相对与现在的绝对过期时间

SlidingExpiration:可调过期时间

await _memoryCache.GetOrCreateAsync<List<Msg>>("key", async entry =>
{
  entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(1);
  // entry.SlidingExpiration = TimeSpan.FromMinutes(1);
  return await GetMsgs();
})

AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(1),表示缓存只有1分中,不管中间有多少次请求,到1分钟之后缓存过期并重新请求数据;

而SlidingExpiration=TimeSpan.FromMinutes(1),表示如果在最后一次请求1分钟之内有请求,则缓存时间顺延1分钟,只有在1分钟之内没有任何请求效果和AbsoluteExpirationRelativeToNow一样。

原文地址:https://www.cnblogs.com/az4215/p/13305575.html