Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi muat semula dinamik dan pra-ambil cache CDN

Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi muat semula dinamik dan pra-ambil cache CDN

WBOY
WBOYasal
2023-07-08 17:03:371591semak imbas

Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi muat semula dinamik dan pra-ambil cache CDN

Ikhtisar
CDN (Rangkaian Penghantaran Kandungan) ialah satu cara untuk mencapai pengedaran kandungan lebih dekat kepada pengguna dengan menggunakan pelayan di pinggir rangkaian, meningkatkan penyampaian kandungan teknologi kelajuan capaian. Youpaiyun ialah penyedia perkhidmatan pengkomputeran awan yang menyediakan storan awan yang komprehensif dan perkhidmatan pecutan CDN. Dengan menggabungkan PHP dan API Awan Youpai, kami boleh melaksanakan fungsi muat semula dinamik dan prefetch untuk mempertingkatkan kadar hit segera dan cache apabila kandungan tapak web dikemas kini.

Segar semula dinamik
Segar semula dinamik bermaksud menghantar arahan muat semula cache kepada pembekal perkhidmatan CDN melalui permintaan API untuk mencapai tujuan menyegarkan semula cache dengan segera.

Pertama sekali, anda perlu menyediakan akaun Youpaiyun dan mendapatkan maklumat berikut:

  1. Kawasan pecutan nama domain (seperti tanah besar China
  2. Alamat titik akses (seperti: http://v0.api.upyun. com);
  3. Akaun dan kata laluan pengendali.

Seterusnya, kami boleh menyepadukan fungsi segar semula dinamik ke dalam kod tapak web kami menggunakan PHP. Berikut ialah kod sampel mudah:

<?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 '刷新失败';
}

?>

Dalam kod di atas, kami menggunakan perpustakaan cURL untuk menghantar permintaan HTTP POST ke antara muka segar semula (/purge) API Awan Youpai, menghantar data senarai URL dan akaun operator pengguna dan kata laluan. Data yang dikembalikan oleh permintaan adalah dalam format JSON, dengan medan code mewakili kod status hasil pelaksanaan permintaan. 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

Prefetch

Prefetch merujuk kepada menyimpan kandungan ke nod CDN terlebih dahulu sebelum akses pengguna sebenar untuk mencapai kelajuan tindak balas yang lebih pantas.

    Kerja penyediaan adalah sama seperti penyegaran dinamik Seterusnya, kami menyepadukan fungsi prefetch ke dalam kod PHP. Berikut ialah kod contoh mudah:
  • rrreee
  • Kod di atas adalah serupa dengan kod muat semula dinamik, kecuali antara muka API yang diminta adalah berbeza (/prefetch) dan data yang diluluskan juga berbeza (prefetch padang).
  • Nota:


Operasi prefetch tidak berkuat kuasa serta-merta, dan masa berkesan tertentu mungkin ditangguhkan

🎜Dalam tempoh tertentu, URL yang sama mungkin digabungkan menjadi satu permintaan untuk pemprosesan untuk mengurangkan penggunaan sumber pelayan. 🎜🎜🎜Kesimpulan🎜Melalui contoh kod di atas, kita boleh melihat cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi muat semula dinamik dan pra-ambil cache CDN. Ciri-ciri ini membolehkan kandungan tapak web kami dikemas kini dengan cepat kepada nod CDN apabila perubahan berlaku dan dimuatkan dengan lebih pantas apabila pengguna melawat dan meningkatkan pengalaman pengguna. Dengan menggunakan fungsi penyegaran cache dan pra-fetch CDN secara fleksibel, kami boleh memberikan permainan penuh kepada kelebihan pecutan CDN dan memberikan pengguna pengalaman akses yang lebih baik. 🎜

Atas ialah kandungan terperinci Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi muat semula dinamik dan pra-ambil cache CDN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn