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;
}
参考:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。