CDN 次要用于减速动态资源,动静资源会回源站实时获取不进行缓存。能够依据文件类型和更新频率设置资源的缓存过期工夫,最长能够设置 3 年。
CDN 提供资源的刷新和预热性能。通过刷新性能,您能够强制 CDN 节点回源并获取最新文件;通过预热性能您能够在业务顶峰前预热热门资源,进步资源拜访效率。
刷新性能是指提交 URL 刷新或目录刷新申请后,CDN 节点的缓存内容将会被强制过期,当您向 CDN 节点申请资源时,CDN 会间接回源站获取对应的资源返回给您,并将其缓存。刷新性能会升高缓存命中率。
调用接口刷新节点上的文件内容。被刷新的文件缓存将立刻生效,新的申请将回源获取最新的文件,反对 URL 批量刷新。
命令行刷新脚本
<?php
include __DIR__ . '/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php
if (count($argv) != 2) {
echo "参数谬误";
exit;
}
$accessKeyId = '<accessKeyId>';
$accessSecret = '<accessSecret>';
$project = $argv[1];
$path = "https://www.yourdomain.com/{$project}/";
AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret)
->regionId('cn-qingdao')
->asDefaultClient();
try {$result = AlibabaCloud::cdn()
->v20180510()
->refreshObjectCaches()
->withObjectType("Directory")
->withObjectPath($path)
->withSecurityToken($accessKeyId)
->debug(true) // Enable the debug will output detailed information
->request();
print_r($result->toArray());
} catch (ClientException $e) {print_r($e->getErrorMessage());
} catch (ServerException $e) {echo $exception->getMessage() . PHP_EOL;
echo $exception->getErrorCode() . PHP_EOL;
echo $exception->getRequestId() . PHP_EOL;
echo $exception->getErrorMessage() . PHP_EOL;}
参考:
配置缓存过期工夫
配置刷新和预热
调用 API 刷新节点上的文件内容