阿里云CDN缓存配置及优化-oss绑定CDN缓存自动刷新功能

参考阿里云官网文档:https://help.aliyun.com/practice_detail/603170
1.缓存时间配置
在缓存管理中,可以方便地指定目录和文件后缀名在CDN节点上的缓存时间,缓存时长配置的长短,取决于源站对该文件的变更频率。我们需要分析下业务中以下几个问题:
您的域名下有哪些类型的资源内容?
例如,该加速域名下有html/js/css/mp4/apk等文件类型的内容。
您源站这些不同目录、不同类型的资源内容在什么情况下内容会变化,变化的频率如何?
例如,mp4文件的内容一般不会变化,而html是新闻门户的主页,其展示页面中的文本内容平均1小时更新一次。
您源站这些文件在变化时,文件名是否也会跟随变化?
例如,文件在更新内容时都会使用新的文件名,或 文件更新后仍然使用之前的文件名。
小提示:在下文的内容中,我们将根据此处的分析结果进行缓存时间的配置。
CDN缓存时间主要受两个部分控制:
源站返回的标准HTTP缓存控制头部(cache-control)。
您在控制台上配置的缓存时间。
配置缓存时,我们需要登录CDN控制台。在域名管理中单击目标域名,选择缓存配置。
在这里插入图片描述
在这里插入图片描述
结合上文中的业务分析,推荐您根据业务情况在CDN域名上配置缓存时间。
如果没有明确业务更新周期,可缓存资源推荐配置一个月以上的缓存时间,如果源站的资源发生变更,您可以通过CDN的刷新缓存功能清理节点上的缓存(下章节中会详细说明)。
需要注意的是,如您的业务中有动态请求(如表单提交/登录/评论/上传等交互),需要设置对应路径或文件类型的缓存时间为0。如果您需要对动态请求也进行加速,优先推荐您使用全站加速(DCDN)产品。
补充说明:参考CDN产品文档,CDN节点上的缓存生效优先级如下
源站响应pragma:no-cache、cache-control:no-cache(或者no-store,或者max-age=0)时,不缓存。
CDN控制台设置的缓存过期时间或者状态码过期时间。
源站配置其他缓存规则,优先级由高至低为:cache-control>expires>last-modified>etag。
源站返回的数据中ETag、last-modified、cache-control和expires这些缓存相关的响应头都没有携带,则默认不缓存
2.oss绑定CDN缓存自动刷新功能
https://help.aliyun.com/zh/oss/user-guide/map-accelerated-domain-names
在这里插入图片描述
使用OSS控制台
绑定自定义域名。

登录OSS管理控制台。

单击Bucket 列表,然后单击目标Bucket名称。

在左侧导航栏,选择Bucket 配置>域名管理。

在域名管理页面,单击绑定域名。

在绑定域名面板,输入要绑定的域名。

配置CDN加速服务。

在域名列表中,单击目标域名右侧的未配置。

在添加域名页面,配置各项参数。配置详情,请参见添加加速域名。

单击下一步,然后单击返回域名列表。

在域名列表中,记录目标域名的CNAME值。

添加CNAME记录。

如果您的域名为非阿里云托管的域名,需在对应的域名解析商处配置云解析。如腾讯云解析(原DNSPod)或新网添加CNAME的步骤,请参见配置CNAME。

此处以阿里云托管的域名为例,添加CNAME记录步骤如下:

登录云解析DNS控制台。

单击域名解析,然后在域名解析列表中,单击目标域名右侧的解析设置。

单击添加记录,填写域名解析信息。
单击确定。

新增CNAME记录实时生效,修改CNAME记录最多72小时生效。

开启CDN缓存自动刷新。

在域名管理页签,打开目标域名右侧的CDN缓存自动刷新开关。

您希望针对指定操作触发CDN缓存自动刷新,可以单击目标域名右侧支持的操作,然后选中指定操作类型。支持的操作类型如下:
在这里插入图片描述
由生命周期触发的对象过期(Expire)、类型转换(TransitionStorageClass)操作不再支持CDN缓存刷新。使用CDN缓存自动刷新时有如下注意事项:

CDN缓存自动刷新功能提交的刷新URL为CNAME/ObjectName,不会刷新带请求参数的URL(图片处理、视频截帧等)。例如Bucket绑定的加速域名为example.com,当您更新Bucket根目录的a.jpg文件,则访问example/a.jpg可以获取最近一次更新的文件;访问example.com/a.jpg?x-oss-process=image/w_100可能获取的还是旧文件。

CDN缓存自动刷新功能不保证一定能成功提交刷新任务,也不保证刷新任务提交的及时性。

CDN缓存自动刷新功能仅支持少量文件的更新提交刷新任务。如果有大量文件的更新操作,可能会触发流控丢弃部分刷新任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109059.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为云云耀云服务器L实例评测|基于云耀云服务器在Docker上部署nginx服务

文章目录 1、服务介绍云耀云服务器Docker介绍Docker-Compse介绍 2、在云耀云服务器安装Docker3、通过Docker run命令运行nginx服务4、在云耀云服务器安装docker-compose5、通过docker-compose方式启动nginx服务 1、服务介绍 云耀云服务器 云耀云服务器(Hyper Elas…

医疗知识图谱 neo4j

开源项目: https://github.com/liuhuanyong/QASystemOnMedicalKG 一.效果 二.需要安装: pip install pyahocorasick pip install py2neo 三.需要修改: 需要改的点: 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行&am…

Spring Boot的配置文件

Spring Boot中的配置文件有两种:properties格式和yml格式 一、propertise格式 propertise格式是Springboot默认的配置文件的格式,它才有键值对keyvalue的方式存储配置信息,有系统key值和自定义key值两类。 系统key值就是Spring boot约定的…

Qt Quick Layouts Overview

Qt快速布局概述 #【中秋征文】程序人生,中秋共享# Qt快速布局是用于在用户界面中排列项目的项目。由于Qt快速布局还可以调整其项目的大小,因此它们非常适合可调整大小的用户界面。 开始 可以使用文件中的以下导入语句将 QML 类型导入到应用程序中。.qml…

python: excel假期时间提取统计

# encoding: utf-8 # 版权所有 2023 涂聚文有限公司 # 许可信息查看: # 描述: # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2023.1 python 311 # Datetime : 2023/9/3 7:04 # User : geovindu # Product : PyCharm # Proje…

Vulkan入门——编译Shaderc

编译 Vulkan-Samples时,遇到了如下shaderc编译报错。 ninja: error: /Users/xiaxl/Library/Android/sdk/ndk/21.1.6352462/sources/third_party/shaderc/libs/c_static/armeabi-v7a/libshaderc.a, needed by ../../../../build/intermediates/cmake/debug/obj/arme…

【CVPR2021】MVDNet论文阅读分析与总结

Challenge: 现有的目标检测器主要融合激光雷达和相机,通常提供丰富和冗余的视觉信息 利用最先进的成像雷达,其分辨率比RadarNet和LiRaNet中使用的分辨率要细得多,提出了一种有效的深度后期融合方法来结合雷达和激光雷达信号。 MV…

还没用熟 TypeScript 社区已经开始抛弃了

根据 rich-harris-talks-sveltekit-and-whats-next-for-svelte 这篇文章的报道, Svelte 计划要把代码从 TS 换到 JS 了。 The team is switching the underlying code from TypeScript to JavaScript. That and the update will then allow the team to incorporate…

SpingMyc项目如何搭建

目录 一、创建项目 二、环境搭建 (1)引入相关依赖 (2)在web.xml中配置前端控制器DispatcherServlet (3)编写SpringMVC核心配置文件springmvc.xml 三、测试是否成功 (1)编写控…

WebGL 正确处理对象前后的关系——隐藏面消除(深度测试)/ 深度冲突

目录 前言 验证WebGL处理对象前后关系的规则——后绘制的图形覆盖先绘制的图形 隐藏面消除(深度测试) 开启隐藏面消除功能,需要遵循以下两步: 1.开启隐藏面消除功能。 gl.enable()函数规范 2.在绘制…

Linux常用命令字典篇

Linux命令 1. 翻页查看文件 less [-N] 文件名:可以向后翻页,也可以向前翻页,-N表示显示行号 more 文件名:仅可以向后翻页 2. 端口占用信息查看 netstat -tunlp | grep 端口号:查看端口号对应的信息 lsof i: 端口号…

sqlserver查询表中所有字段信息

精简 SELECT 字段名 a.name,主键 case when exists(SELECT 1 FROM sysobjects where xtypePK and parent_obja.id and name in (SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id a.id AND colida.colid))) then √ else …