基于时间的缓存策略使用检索资源的时间、使用资源返回的标头以及当前时间定义缓存条目的新鲜度。 设置基于时间的 Default 缓存策略时,可以使用基于时间的策略或创建自定义基于时间的策略。 对使用超文本传输协议(HTTP)获取的资源使用默认基于时间的策略时,确切的缓存行为由缓存响应中包含的标头以及 RFC 2616 第 13 节和第 14 节中指定的行为确定,这些行为在 Internet 工程任务组(IETF) 网站上可用。 有关演示如何为 HTTP 资源设置默认基于时间的策略的代码示例,请参阅 如何:为应用程序设置默认 Time-Based 缓存策略。 有关演示如何创建和使用缓存策略的代码示例,请参阅 在网络应用程序中配置缓存。
确定缓存项新鲜度的条件
若要自定义基于时间的缓存策略,可以指定使用以下一个或多个条件来确定缓存项的新鲜度:
最大年龄
最大陈旧度
最低新鲜度
缓存同步日期
注释
不应将默认基于时间的缓存策略与为应用程序设置默认缓存策略混淆。 默认基于时间的策略是可在请求或应用程序级别使用的特定策略。 应用程序的默认缓存策略是一个策略(基于位置或基于时间),在请求中未设置任何策略时生效。 有关为应用程序设置默认缓存策略的详细信息,请参阅 DefaultCachePolicy。
最大年龄
最大期限策略条件指定可以使用资源缓存副本的时长。 如果资源的缓存副本早于指定的时间量,则必须通过根据服务器上的内容检查资源来重新验证该资源。 如果最长使用时间允许在资源过期后使用资源,则不符合此条件,除非还指定了最长过期时间值。
最大陈旧度
最大过期策略条件指定内容过期后可以使用资源缓存副本的时间长度。 这是允许资源过期后使用的唯一缓存策略条件。
最低新鲜度
最小新鲜度策略条件指定可以使用资源缓存副本在内容过期之前的时间长度。 此策略会影响导致缓存项在到期日期之前过期;因此,最小新鲜度和最大过期设置是相互排斥的。
缓存同步日期
缓存同步日期政策的条件是通过将缓存的资源副本与服务器上的内容进行对比,以确定何时必须重新验证该副本。 如果自缓存项后内容已更改,则会从服务器检索内容、存储在缓存中并返回到应用程序。 如果内容未更改,则会更新其时间戳,应用程序将获取缓存的内容。
缓存同步日期允许指定必须重新验证缓存内容的绝对日期。 如果一个新鲜的缓存条目在缓存同步日期之前就已经重新验证过,仍然会与服务器进行重新验证。 如果在缓存同步日期后重新验证缓存项,并且没有使缓存项失效的其他新鲜度或服务器重新验证要求,则使用缓存中的条目。 如果缓存同步日期设置为将来的日期,那么在缓存同步日期到来之前,每次请求时都会重新验证条目。
以下主题提供有关组合基于时间的缓存策略条件的效果的信息: