相信很多朋友也有这种问题,首先回忆一下CDN的请求流程:
首次请求因为未命中缓存所以要到源站服务器获取资源,等CDN服务器将资源缓存在本地后,后续客户端再来请求就由CDN服务器直接给客户端了,不用再去源站。
既然都设置了30天的缓存时间,那理所应当是30天之后才会再次到源站服务器获取资源。
其实这种说法不完全正确,30天是理想最大的过期时间,不出现意外的情况下,资源在CDN服务器上是可以缓存30天的。
但是意外总是有的,比如CDN服务器坏了,里面的数据都丢了。后面CDN服务器搞好重新上线时,里面什么缓存都没有的,那你再次请求到CDN服务器是不是就会回源?
还有以下情况。
除了以上的原因还有其他的,不一一举例了。
那怎么才能避免出现上面的问题?
CDN服务器坏掉的问题,这个没啥好的办法;其他三个问题,主要解决办法是提升网站的请求量,但也不能彻底解决只能起到缓解而已。
网站每天必须有一定的请求量和流量,让资源保持热度,不然资源就有可能被淘汰掉。
一条缓存规则,该规则表示html后缀的文件会缓存5分钟。
不管访问多少次,X-Cache 始终是 MISS,X-Swift-CacheTime 也一直为 0。
X-Cache 为 MISS,X-Swift-CacheTime 为 0,CDN不缓存。
X-Cache 为 MISS,X-Swift-CacheTime 为 0,CDN不缓存。
X-Cache 为 MISS,X-Swift-CacheTime 为 0,CDN不缓存。
试下能否正常被CDN缓存。
X-Cache 变成了 HIT,X-Swift-CacheTime 变成了 300,也就是CDN缓存5分钟。
缓存规则权重不同,有两条缓存规则,其中 /static/ 目录类型的权重最大,意味着优先级最高。
请求 /static/ 目录下 html 后缀的文件,看下匹配到哪条规则?
X-Swift-CacheTime: 120,这是匹配到了 /static/ 目录类型的规则。
缓存规则权重相同, html 文件后缀名的规则创建时间最早,正常情况应该是匹配到该条规则。
X-Swift-CacheTime: 300,确实匹配到了 html 文件后缀名规则。
CDN不要设置缓存规则,然后nginx配置内容如下,Cache-Control设置为60秒,Expires设置为120秒。
源站响应头部有 Cache-Control 、 Expires 、 Last-Modified 、 ETag ,测试看看哪个优先级最高。
X-Swift-CacheTime: 60,Cache-Control 的优先级高一些。
在nginx配置中将 add_header Cache-Control "max-age=60" 去掉再试试。
X-Swift-CacheTime: 120,缓存规则是用 Expires 的时间了。
去掉nginx配置中的 expires 120s。
X-Swift-CacheTime 会随着时间变化,这是因为缓存过期了,CDN重新去源站拉取,然后重新计算缓存过期时间。
ok,最后一步,将 Last-Modified 响应头部给干掉。
只有 Etag 响应头部,不管访问几次,依旧是 X-Swift-CacheTime: 10。
将4个响应头部都干掉,看下CDN是否会缓存。
多次测试始终是 X-Cache: MISS 和 X-Swift-CacheTime: 0,这说明如果这4个响应头部都没了,CDN是不缓存的。
cdn加速器的缓存一般设置多长时间写回答有奖励 共3个回答
2016-04-21 TA获得超过959个赞
关注
这个主要是看所缓存内容的更新频率。。。
通常来说 像图片、js、css等这些内容一般是很少变动的,那么缓存时间可以设置长一点,1天 或者更长。假如有变动的时候可以手动提交一下刷新。
而变动比较频繁的内容 缓存时间可以设置短一点。
1 9
高能答主
今天 14:38 最想被夸「你懂的真多」
关注
在传统的动态系统的访问中,用户对网络的请求过程,一般需要经过网络中多台路由器的传输,最终将发送的请求交于动态系统来处理,但是由于IP网络本身的“尽力而为的原则”、网络链路中复杂的环境及硬件的不可靠性的确实存在,致使用户要出现重复发送的请求的现状,所以最终导致用户的请求在提交的过程中出现等待、数据加载时间过长的一些现象的普遍存在,这些在线提交式系统的缓慢直接地影响到办公人员的工作效率,这也是制约着很多大型企业在协同办公OA、ERP、SAP等信息化建设中,出现最多的问题。
而CDN分发解决方案解决了与静态网站相关的性能和可靠性问题,而在当今在线业务体验中,与分发静态和动态元素和应用相关的独特挑战,则由速网的动态网站加速来解决。
CDN能几乎涵盖国内所有线路。而在可靠性上, CDN 在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行响应。CDN能轻松实现网站的全国铺设,不必考虑服务器的投入与托管、不必考虑新增带宽的成本、不必考虑多台服务器的镜像同步、不必考虑更多的管理维护技术人员。
展开剩余40%
0 抢首赞
匿名用户
2020-11-09
cdn加速服务_Hi,移动云_11.11,一起上云吧!新用户上云2折起, 专属云多买多送!云网一体/贴身服务/随心定制/安全可控!点击了解更多活动信息。 点击进入详情页
广告
今天 13:26 TA获得超过1593个赞
关注
这个主要是看所缓存内容的更新频率。。。
通常来说 像图片、js、css等这些内容一般是很少变动的,那么缓存时间可以设置长一点,1天 或者更长。假如有变动的时候可以手动提交一下刷新。
而变动比较频繁的内容 缓存时间可以设置短一点。
0 抢首赞
天下数据cdn加速无需备案无需备案 私人订制 全球节点任选
天下数据cdn加速无需备案海外节点任意定制,全线加速,一键隐藏真实IP,数据安全有保..
深圳市朗玥科技有限公司广告
香港cdn-华为云CDN加速_11.11上云嘉年华_折后买一送一
值得一看的香港相关信息推荐
华为云全球2500+节点覆盖,调度精准率高达99.99%,更低时延_更低回源。华为云11.11上..
华为技术有限公司广告
Tap加速器_一款简单好
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)