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

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

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

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

 

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

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

场景举例:

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Perl编写的调用华为云创建CDN预热刷新CDN缓存预热的API接口的示例代码: ```perl #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use JSON; # Replace with your own values my $ak = 'YOUR_ACCESS_KEY'; my $sk = 'YOUR_SECRET_KEY'; my $project_id = 'YOUR_PROJECT_ID'; my $domain_name = 'YOUR_DOMAIN_NAME'; # Create a UserAgent object my $ua = LWP::UserAgent->new; # Set the API endpoint URL my $url = "https://cdn.myhuaweicloud.com/v1.0/$project_id/refresh-tasks"; # Set the request headers my $headers = [ 'Content-Type' => 'application/json', 'X-Auth-Token' => '', ]; # Set the request body my $body = { 'refresh_type' => 'flush', 'domains' => [ $domain_name ] }; # Encode the request body as JSON my $json_body = encode_json($body); # Sign the request with the AK/SK my $timestamp = time; my $auth_string = "CDN $ak:$timestamp:" . hmac_sha1_hex($timestamp, $sk); $headers->{'X-Auth-Token'} = $auth_string; # Send the API request my $response = $ua->post( $url, headers => $headers, content => $json_body ); # Check for errors if ($response->is_error) { die "API request failed: " . $response->status_line; } # Decode the response body as JSON my $json_response = decode_json($response->content); # Print the task ID my $task_id = $json_response->{'task_id'}; print "Task ID: $task_id\n"; ``` 这个示例代码会向华为云发送一个CDN缓存预热的请求,使用了LWP::UserAgent模块发送HTTP请求,使用JSON模块将请求体和响应体编码为和解码为JSON格式。在实际使用中,需要将示例代码中的YOUR_ACCESS_KEY、YOUR_SECRET_KEY、YOUR_PROJECT_ID和YOUR_DOMAIN_NAME替换为自己的实际值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值