ホームページ >バックエンド開発 >PHPチュートリアル >PHP と Youpai Cloud API を使用して CDN キャッシュの動的リフレッシュおよびプリフェッチ機能を実装する方法

PHP と Youpai Cloud API を使用して CDN キャッシュの動的リフレッシュおよびプリフェッチ機能を実装する方法

WBOY
WBOYオリジナル
2023-07-08 17:03:371631ブラウズ

PHP と Youpai Cloud API を使用して CDN キャッシュの動的更新とプリフェッチ機能を実装する方法

概要
CDN (コンテンツ配信ネットワーク) は、サーバーを展開することでオフサイト サービスを実現する方法です。ネットワークのエッジでコンテンツをユーザーの近くに配信し、Webサイトのアクセス速度を向上させる技術。 Youpaiyun は、包括的なクラウド ストレージと CDN アクセラレーション サービスを提供するクラウド コンピューティング サービス プロバイダーです。 PHP と Youpai Cloud API を組み合わせることで、動的リフレッシュ機能とプリフェッチ機能を実装し、Web サイトのコンテンツ更新時の即時性とキャッシュ ヒット率を向上させることができます。

動的リフレッシュ
動的リフレッシュとは、キャッシュを即時にリフレッシュするという目的を達成するために、API リクエストを通じて CDN サービス プロバイダーにキャッシュ リフレッシュ命令を送信することを意味します。

まず、Youpaiyun アカウントを準備し、次の情報を取得する必要があります:

  1. ドメイン名アクセラレーション エリア (中国本土など)、
  2. アクセス ポイントのアドレス(例: http://v0.api.upyun.com);
  3. オペレーターのアカウントとパスワード。

次に、PHP を使用して、動的更新機能を Web サイトのコードに統合できます。以下は簡単なサンプル コードです:

<?php

// 准备又拍云API相关信息
$serviceUrl = 'http://v0.api.upyun.com';
$operatorName = 'your_operator_name';
$operatorPassword = 'your_operator_password';

// 准备需要刷新的URL列表,可根据实际情况进行替换
$urls = [
    'http://www.example.com/image1.jpg',
    'http://www.example.com/image2.jpg',
    'http://www.example.com/page1.html',
    'http://www.example.com/style.css',
];

$data = [
    'purge' => $urls,
];

$jsonData = json_encode($data);

// 发送HTTP POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serviceUrl . '/purge');
curl_setopt($ch, CURLOPT_USERPWD, $operatorName . ':' . $operatorPassword);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

$response = curl_exec($ch);
curl_close($ch);

// 处理结果
$result = json_decode($response, true);
if ($result['code'] === 200) {
    echo '刷新成功';
} else {
    echo '刷新失败';
}

?>

上記のコードでは、cURL ライブラリを使用して、Youpai Cloud API の更新インターフェイス (/purge) に HTTP POST リクエストを送信し、URL リスト データとユーザー操作、ユーザー名とパスワード。リクエストによって返されるデータは JSON 形式であり、code フィールドはリクエストの実行結果のステータス コードを示します。

プリフェッチ
プリフェッチとは、より高速な応答速度を実現するために、実際のユーザー アクセスの前にコンテンツを事前に CDN ノードにキャッシュすることを指します。

準備作業は動的リフレッシュと同じで、次にプリフェッチ機能をPHPコードに組み込みます。以下は簡単なサンプル コードです。

<?php

// 准备又拍云API相关信息
$serviceUrl = 'http://v0.api.upyun.com';
$operatorName = 'your_operator_name';
$operatorPassword = 'your_operator_password';

// 准备需要预取的URL列表,可根据实际情况进行替换
$urls = [
    'http://www.example.com/image1.jpg',
    'http://www.example.com/image2.jpg',
    'http://www.example.com/page1.html',
    'http://www.example.com/style.css',
];

$data = [
    'prefetch' => $urls,
];

$jsonData = json_encode($data);

// 发送HTTP POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serviceUrl . '/prefetch');
curl_setopt($ch, CURLOPT_USERPWD, $operatorName . ':' . $operatorPassword);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

$response = curl_exec($ch);
curl_close($ch);

// 处理结果
$result = json_decode($response, true);
if ($result['code'] === 200) {
    echo '预取成功';
} else {
    echo '预取失败';
}

?>

上記のコードは、要求された API インターフェイスが異なり (/prefetch)、渡されるデータも異なる (prefetch) ことを除いて、動的更新コードに似ています。 ### 分野) 。

注:

    プリフェッチ操作はすぐには有効になりません。また、特定の有効時間は遅れる可能性があります。
  • 一定期間内に同じ URL が有効になる可能性があります。サーバー リソースの消費を削減するために、処理リクエストを 1 つに統合する必要があります。
結論

上記のコード例を通じて、PHP と Youpai Cloud API を使用して CDN キャッシュの動的リフレッシュおよびプリフェッチ機能を実装する方法を確認できます。これらの機能により、変更が発生したときに Web サイトのコンテンツが CDN ノードに迅速に更新され、ユーザーがアクセスしたときに読み込みが速くなり、ユーザー エクスペリエンスが向上します。 CDNのキャッシュリフレッシュ機能やプリフェッチ機能を柔軟に活用することで、CDNの高速化メリットを最大限に発揮し、より快適なアクセス体験をユーザーに提供できます。

以上がPHP と Youpai Cloud API を使用して CDN キャッシュの動的リフレッシュおよびプリフェッチ機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。