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:
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 merujuk kepada menyimpan kandungan ke nod CDN terlebih dahulu sebelum akses pengguna sebenar untuk mencapai kelajuan tindak balas yang lebih pantas.
prefetch
padang).
Operasi prefetch tidak berkuat kuasa serta-merta, dan masa berkesan tertentu mungkin ditangguhkan
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!