【CDN学习笔记4】CDN缓存刷新与预热的区别

本文介绍了CDN的缓存刷新和预热功能。刷新是在文件更新时,将CDN中旧版本设置为超时并从源站获取最新版本;不刷新会导致用户访问旧数据。预热是在文件首次发布时,将文件从源站推送到CDN。还说明了两者适用场景及支持的操作类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://doc.moretv.com.cn/pages/viewpage.action?pageId=31263133

刷新:淘汰旧文件,重新获取文件的新版本

当文件有跟新时,需要手动执行刷新操作,将CDN中缓存的历史版本设置为超时,并从源站获取最新的版本。刷新操作相对于一个触发更新的动作。

如果不刷会有啥问题呢? 用户在访问URL时,命中的是CDN中的旧数据。因为CDN在全国的节点是没有办法感知到源站发生变化的,因此需要要给触发机制,就是“缓存刷新”。

 

===============================

预热:首次发布的文件,主动从源站推送到CDN,让用户访问到CDN时不用回源命中。

场景举例:

魔兽世界(PC)版在国内xx年xx月xx日xx时首次开发,国内的游戏玩家早就迫不及待等在开服,抢着开服的时候赶紧下载游戏客户端(2GB)。如果没有预热,第一批玩家在访问官网下载时,官网CNME记录解析到CDN。由于是第一次访问,CDN中缓存也没有,因此需要回源站去获取游戏客户端(2GB)。

影响:

首批下载的用户体验很差,因为都集中访问源站主机,源站主机的CPU利用率和带宽都会是瓶颈。第一批玩家下载完成后,CDN中也能够缓存了一份,第二批玩家下载就直接在CDN中命中,速度比第一批快得多。但是等CDN缓存好完整一份游戏客户端,可能半天到1天的时间就过去了。因为第一批下载时,源站压力非常大,CDN回源的带宽可能只有几KB,几KB的速度下载2GB的文件,可能要好几天了。那么游戏开服的头几天连游戏客户端都下载不了。

解决办法:

在开服前,通过预热功能,将游戏安装包(2G)从源站推送到各CDN节点,提前先缓存起来。等开服的时候,第一个玩家也能从CDN中快速获取到游戏安装包。

 

===================================

总结:

1、预热适合文件首次发布到CDN;刷新适合文件内容修改后,主动更新CDN中的文件到最新版本。

2、预热只支持URL(文件级)进行预热,不支持按目录级预热。原因:预热是首次访问的文件,没有权限能获取到某个文件夹下面有哪些文件。

3、刷新支持URL刷新和文件夹刷新。原因:当CDN已经命中过文件后,CDN会记录每个文件夹下面有哪些文件,就可以得出每个文件的URL,文件夹刷新本质上是URL刷新的包装了一层壳。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值