Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua caching pembangunan PHP dan amalan terbaik

Petua caching pembangunan PHP dan amalan terbaik

WBOY
WBOYasal
2023-11-08 11:19:51688semak imbas

Petua caching pembangunan PHP dan amalan terbaik

Petua caching pembangunan PHP dan amalan terbaik

Pengenalan:
Dalam pembangunan web, prestasi ialah penunjuk yang sangat penting. Untuk meningkatkan prestasi tapak web, caching adalah teknologi yang sangat biasa. Dalam pembangunan PHP, kami boleh melaksanakan caching dalam pelbagai cara Artikel ini akan memperkenalkan beberapa teknik caching biasa dan amalan terbaik, dan menyediakan contoh kod khusus.

1. Cache halaman

  1. Caching halaman statik
    Caching halaman statik ialah salah satu kaedah caching yang paling mudah dan berkesan. Kita boleh menggunakan fungsi ob_start() dan ob_get_contents() untuk cache output halaman, dan kemudian terus keluarkan kandungan cache pada permintaan seterusnya tanpa melaksanakan logik penjanaan halaman sekali lagi.

Kod sampel adalah seperti berikut:

ob_start();
// 页面生成逻辑
$content = ob_get_contents();
ob_end_clean();
echo $content;
  1. Caching fail
    Jika kandungan halaman kami perlu ditukar dengan kerap, dan penjanaan dinamik mahal, kami boleh cache kandungan halaman sebagai fail untuk meningkatkan prestasi.

Kod sampel adalah seperti berikut:

// 生成缓存文件名
$cacheFile = 'cache/page_'.md5($url).'.html';

// 判断缓存是否存在
if(file_exists($cacheFile)){
   // 页面输出缓存内容
   echo file_get_contents($cacheFile);
} else {
   // 执行页面生成逻辑
   ob_start();
   // 页面生成逻辑
   $content = ob_get_contents();
   ob_end_clean();
   echo $content;

   // 写入缓存文件
   file_put_contents($cacheFile, $content);
}

2. Cache pangkalan data

  1. Cache hasil pertanyaan
    Dalam senario di mana pertanyaan pangkalan data adalah kerap dan hasilnya agak stabil, kami boleh menggunakan cache untuk mengelakkan berbilang pertanyaan dan meningkatkan prestasi. Kita boleh menggunakan pangkalan data dalam memori seperti Memcached dan Redis untuk melaksanakan caching hasil.

Kod sampel adalah seperti berikut:

// 查询缓存键名
$cacheKey = 'cache/user_'.$userId;

// 从缓存中获取数据
if($data = $cache->get($cacheKey)){
    // 使用缓存数据
    $result = $data;
} else {
    // 执行数据库查询逻辑
    $result = $db->query('SELECT * FROM user WHERE id = '.$userId);

    // 将数据存入缓存
    $cache->set($cacheKey, $result, 3600);
}

echo $result;
  1. Kemas kini cache data
    Apabila data dalam pangkalan data diubah suai, kami perlu mengemas kini cache untuk memastikan ketepatan dan konsistensi kandungan cache.

Kod sampel adalah seperti berikut:

// 修改数据库中的数据
$db->query('UPDATE user SET name = "John" WHERE id = '.$userId);

// 清除缓存
$cache->delete('cache/user_'.$userId);

3. Cache kandungan dinamik
Dalam sesetengah senario, sesetengah kandungan dalam halaman hanya akan berubah dalam keadaan tertentu dan rendering.

Kod sampel adalah seperti berikut:

// 判断内容缓存是否存在
$cacheKey = 'cache/content_'.$contentId;
if($content = $cache->get($cacheKey)){
    // 使用缓存内容
    echo $content;
} else {
    // 执行内容生成逻辑
    $content = generateContent($contentId);

    // 将内容存入缓存
    $cache->set($cacheKey, $content, 3600);

    echo $content;
}

Kesimpulan:
Caching adalah salah satu teknik biasa untuk meningkatkan prestasi laman web PHP. Artikel ini memperkenalkan petua dan amalan terbaik untuk cache halaman, cache pangkalan data dan cache kandungan dinamik serta menyediakan contoh kod khusus. Penggunaan teknologi caching yang betul boleh meningkatkan prestasi tapak web dan pengalaman pengguna.

Atas ialah kandungan terperinci Petua caching pembangunan PHP dan amalan terbaik. 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