根据MSDN,如果在指定的时间间隔内未访问缓存设置,则缓存设置已过期。
我的问题是,在时间间隔过去之后立即删除缓存条目,还是在下一个代码语句尝试访问它并且.Net意识到它已过期时将其删除?
答案 0 :(得分:1)
从the link for Azure
中找到以下缓存过期类型有三种类型:无,绝对和滑动 窗口。这些配置如何使用生存时间(分钟)来确定 过期。默认的过期类型是绝对,这意味着 项目到期时的倒数计时器从项目开始时开始 放入缓存。一旦指定的时间量过去 对于项目,该项目到期。如果指定了滑动窗口,则 每次项目时,项目的到期倒计时都会重置 在缓存中访问,该项目将不会到期,直到 自上次访问以来经过的指定时间量。如果没有 指定,然后生存时间(分钟)必须设置为0,项目将 不会过期,只要它们在缓存中就会保持有效。
因此,如果在滑动窗口中访问某个项目,则会重置到期倒计时。
答案 1 :(得分:0)
每次访问缓存过期时间都会重置。
答案 2 :(得分:0)
如果访问,则滑动到期时间将重置
如果在一段时间内未访问该条目,SlidingExpiration将使该条目到期。
AbsoluteExpiration将在一段时间后过期。
您可以使用其中之一。您正在使用的ObjectCache Add()重载将其视为绝对过期,因此您需要使用其中一个overloads