CDN缓存

mac2022-06-30  81

1  CDN 读取数据过程  用户访问您的源,先去查找CDN的1级节点,再查找CDN2级节点,2级节点没有,再查找源,源中的数据同步到2级节点,2级节点同步到1级节点,再从1级节点返回用户要访问的数据。

2  CDN缓存什么内容   (1)缓存html、图片、css、xml等静态资源,不缓存含有?的动态地址、jsp、php,js文件也不缓存【除非特殊设置】   (2) 缓存原站返回HTTP状态为20*或304,不缓存其他状态(例如404,500,503)

3  CDN 刷新缓存

(1) URL 刷新 原理:强制回源拉取更新的文件,并更新CDN Cache节点上的指定文件

(2) 目录刷新 原理:强制回源拉取更新的目录,并更新CDN Cache节点上的指定文件目录,适用于多内容较多的的场景。

(3) URL 预热 原理:将源站的内容主动预热到L2 Cache节点上,用户首次访问可直接命中缓存,缓解源站压力。

缓存刷新一般5-10 分钟之内生效  注意事项: 输入的 URL 必须带有 http://或者 https://

(4)缓存刷新、缓存预热的区别和使用场景是什么?

缓存刷新:强制将分发节点上缓存的资源标记为过期,当用户再次对该资源发起请求时,节点会回源拉取资源,并缓存一份更新后的资源在分发节点  缓存预热:主动触发将源站资源推送到边缘节点,用户访问资源时,可以直接命中缓存,缓解突增回源流量给源站造成的压力

4   CDN 缓存的配置

举例:为加速域名 example.aliyun.com 设置三则缓存配置规则

缓存策略1:文件名后缀为jpg、png的所有资源 过期时间为1月,权重设置为90  缓存策略2:目录为/www/dir/aaa 过期时间为1小时,权重设置为70  缓存策略3:完整路径为/www/dir/aaa/example.php 过期时间为0s,权重设置为80  则这三个缓存策略的生效顺序是:策略1—>策略3—>策略2

注:  权重可设置1-99数字越大,优先级越高,优先生效;  不推荐设置相同的权重,权重相同的两条缓存策略优先级随机

5   为了 CDN 使用的最优,建议您将动静态页面进行域名分离,静态页面的域名使用 CDN 的加速

6   源站 cachecontrol,expires,lastmodify,etag都没设置,CDN 也没设置缓存规则,是不会被缓存的

7   源站设置了 no-cache 、private、 max-age = 0 都遵循源站,CDN 是不会进行缓存的

本文主要来自阿里云帮助文档https://help.aliyun.com/knowledge_list/40185.html

转载于:https://www.cnblogs.com/fanren224/p/8457336.html

最新回复(0)