缓存概述

更新时间:

当您的站点接入边缘安全加速 ESA后,边缘安全加速 ESA边缘节点将根据缓存配置的规则来决定是否缓存客户端请求响应的资源文件,边缘节点缓存该文件后,当有其他用户发起相同的文件请求时,可由边缘安全加速 ESA直接响应,可有效避免长链路回源情况,以更快的速度为用户响应最新的文件请求,从而减少延迟和提高资源访问效率。当用户请求的内容在缓存节点上不存在或已过期时,边缘安全加速 ESA会向源站发起回源请求以获取最新的数据。

功能介绍

通过缓存配置功能,您可以对站点执行如下操作。

功能

功能描述

默认缓存规则

在使用边缘安全加速 ESA加速静态资源时,边缘安全加速 ESA会将源站上的资源缓存到距离客户端最近的边缘安全加速 ESA节点上。当您访问该静态资源时,可以直接从边缘安全加速 ESA的缓存节点上获取,有效避免通过较长的链路回源,提高资源访问效率。阿里云边缘安全加速 ESA的所有节点都包含缓存软件,在用户请求或者源站响应资源经过边缘安全加速 ESA节点时,缓存软件会根据需要对源站资源进行缓存,并设定缓存过期时间。

全局缓存配置

开发模式

开发模式开启后,所有请求都将传递到源站服务器。这样就允许您的网站请求暂时绕过边缘安全加速 ESA的缓存组件,以便您可以验证对缓存内容进行的更改。此功能在需要即时查看所做更改时非常有用。启用后,开发模式将持续三个小时,然后自动关闭。

浏览器缓存过期时间

浏览器缓存过期时间是指浏览器存储的网页资源(如HTML、CSS、JavaScript文件、图片等)在本地缓存中的有效期。默认遵循源站的Cache-Control 头部,您可在不修改源站配置的情况下,通过配置客户端浏览器对资源文件的缓存时长,在缓存有效期内,浏览器会从本地缓存中加载文件,从而提高页面加载速度。

边缘缓存过期时间

边缘缓存过期时间是指源站资源在边缘安全加速 ESA边缘节点缓存的时长,达到预设时间,资源将会被边缘安全加速 ESA节点标记为失效资源。如果客户端向边缘安全加速 ESA节点请求的资源已经失效,边缘安全加速 ESA会回源站获取最新资源并缓存到边缘安全加速 ESA节点。您可以根据业务需求,按目录或文件后缀名配置静态资源的缓存过期时间。

查询字符串

边缘节点在处理用户请求生成缓存键(Cachekey)时,设置去除请求URL中携带的?以及?之后的查询字符串(例如:用户身份信息、访问渠道来源等),这样有利于提升缓存命中率和缩短页面加载时间。

查询字符串排序

开启查询字符串排序功能后,边缘安全加速 ESA会在处理请求时自动对URL中的查询字符串参数进行排序,然后再根据排序后的查询字符串进行缓存查找或请求转发。这意味着,无论请求URL中的查询字符串的顺序如何,只要参数及其值相同,边缘节点都会将缓存中具有相同查询字符串的文件视为相同的文件。开启该功能有助于提升缓存命中率。

缓存规则

使用规则配置浏览器缓存过期时间

当您需要根据自身需求针对不同规则设置浏览器缓存过期时间时,您可以为每个缓存规则设置不同的缓存策略。

使用规则配置边缘缓存过期时间

当您需要根据自身需求针对不同规则设置边缘缓存过期时间时,您可以为每个缓存规则设置不同的缓存策略。

配置状态码缓存过期时间

边缘安全加速 ESA节点从源站获取资源时,源站会返回响应状态码,您可以在阿里云边缘安全加速 ESA上配置状态码缓存时间,当客户端再次请求相同资源时,由边缘安全加速 ESA直接响应状态码,不会触发回源,减轻源站压力。当状态码超过设置的缓存时间,会重新触发回源。

自定义Cachekey

配置自定义缓存键(Cachekey),开发者可以根据用户请求中的不同部分(例如查询字符串、HTTP请求标头或者Cookie等)制定规则来生成Cachekey,将访问同一个文件的一类请求转化为统一的Cachekey,避免将同一类请求缓存为不同文件的问题,从而提高缓存的命中率,降低回源率,减少请求的响应时间和带宽消耗。

刷新和预热

刷新缓存

通过刷新缓存功能,您可以清除节点上已经缓存的资源,从而让节点回源站获取最新资源。刷新缓存适用于源站资源更新和发布、违规资源清理等场景。需要注意的是,短时间内刷新大量缓存资源会使节点产生较多回源请求,这会给源站带来一定的压力。

预热缓存

通过预热功能,源站会主动将相应资源缓存到ESA节点,当用户首次请求资源时,能直接从ESA节点获取到最新的资源,无需再回源站获取。预热功能会提高缓存命中率。

缓存保持

缓存保持功能用于收敛回源请求,开启后,缓存保持节点将作为您最顶层缓存的节点,这样用户请求通过多层缓存节点架构的收敛之后,ESA将会通过缓存保持节点来回源,从而大幅度减少回源流量。缓存保持节点将会为用户预留存储空间,通过缓存保持节点缓存下来的文件,不会因为文件热度不够而被其他热度较高的文件覆盖。