一个资源是如何缓存下来的?

一个资源是如何缓存下来的?

 1.img标签 用户根据url去获取资源

{

这时是如何诱导到CDN上的呢?

我认为是DNS返回了CDN列表。让他去找CDN。然后CDN再根据客户端的IP分配给CDN节点。

其实是我们的域名的DNS会根据用户的ip直接分配CDN给他们。

}

2.CDN查询缓存,如果没有发现,就去管服务器要。

3.服务器找到资源,还给CDN,并且告诉他,永久缓存。

4.CDN再把信息和资源原原本本的告诉客户端。客户端也就把资源拿到并且永久缓存了。

我们的资源有两类。

static静态资源。

这类资源会在外面加上tag。这样,每次发布,就能强行让用户重新拉取。

api图片资源。

这类资源通过修改数据库的名称来达到同步更新的目的。如果需要更换资源,更换名字就可以了。

产品经理改需求怎么办?对应着这两类资源。

换个banner接口的资源图?改名字就行了。

换个static文件?这就麻烦点了。首先复习下static资源的发布流程

1)拿到static文件。

2)同步工程文件。

3)更新服务器static目录。

4)push代码开始编译发布。

5)重新打包的时候,会将static的资源也做处理,打上tag。文件中的资源就都被打上tag了。

6)之后用户接受到新的app.js文件(上了戳的),回去访问新的静态资源,重新拉取数据。

如果修改这类static图片。

直接更新了static文件夹。

刷新cdn。强迫缓存服务器重新拉去。

ok 所有的新用户就没问题了。它实际上就是,发布上线后,更新static文件夹,并且命令cdn忘记缓存过这个资源。

我们如何掌控缓存的?

规则1:永久缓存全部资源。

规则2:如果名称变了就拉取新资源。

一旦永久缓存,就不会再次请求资源。server只能通过刷新CDN来更改CDN的缓存,但是无法控制客户端清空缓存。

什么是刷新CDN?

刷新cdn就是清除掉cdn的缓存。其实刷新后面可以跟一个预热。

{

预热从技术实现上需要告知CDN哪些资源需要重新拉取。

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • 利用周末,拜读了公司推荐的《教练的智慧》,结合自己这几年的一些经历,颇有感触。就谈谈唤醒吧,10月初,在生产部组织...
    李鑫_5282阅读 2,900评论 0 1
  • 慧语禅心:佛法是迷惑走向觉醒的教肓 世尊教导我们,快乐就紧邻着不圆满的痛苦。通常当经验这种快乐时,我们对它并无真实...
    xcy无名阅读 2,532评论 0 0
  • 最近的“奥凯电缆”事件持续发酵,已经在社会各界造成了极大的反响。其起因也就是拿着丰厚的资金却去做不合格的产品,目的...
    电动车一号阅读 2,895评论 0 0