Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh pengoptimuman prestasi PHP-FPM: kaedah untuk meningkatkan kecekapan caching data tapak web

Contoh pengoptimuman prestasi PHP-FPM: kaedah untuk meningkatkan kecekapan caching data tapak web

WBOY
WBOYasal
2023-10-05 11:27:16777semak imbas

Contoh pengoptimuman prestasi PHP-FPM: kaedah untuk meningkatkan kecekapan caching data tapak web

Pengoptimuman Prestasi PHP-FPM Contoh: Kaedah Meningkatkan Kecekapan Caching Data Laman Web

Dengan perkembangan pesat Internet, bilangan lawatan ke laman web juga semakin meningkat, jadi penambahbaikan prestasi laman web telah menjadi satu perkara yang penting. isu. Sebagai penterjemah PHP yang biasa digunakan, PHP-FPM amat penting untuk pengoptimuman prestasi tapak web. Artikel ini akan memperkenalkan beberapa kaedah untuk meningkatkan kecekapan caching data tapak web dan menyediakan contoh kod khusus.

  1. Gunakan sambungan cache

Dalam PHP, sambungan cache yang biasa digunakan termasuk Redis, Memcached, dsb. Sambungan ini menyimpan data dalam memori dan meningkatkan kelajuan data boleh dibaca. Apabila menggunakan sambungan cache, anda boleh cache beberapa data yang kerap diakses untuk mengelakkan membacanya daripada pangkalan data setiap kali. Berikut ialah contoh kod menggunakan Redis sebagai cache:

// 连接Redis服务器
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// 检查缓存中是否存在数据
if ($redis->exists('cache_key')) {
    $result = $redis->get('cache_key');
} else {
    // 从数据库中读取数据
    $result = db_query('SELECT * FROM table');
  
    // 将数据存入缓存
    $redis->set('cache_key', $result, 60); //设置过期时间为60秒
}

// 使用数据
echo $result;
  1. Menggunakan proksi caching

Jika tapak web mempunyai jumlah data yang banyak, kecekapan membaca data terus daripada pangkalan data akan menjadi agak rendah. Pada masa ini, anda boleh menggunakan proksi caching untuk menyimpan hasil pertanyaan pangkalan data dalam cache, dan pertanyaan seterusnya akan membaca data terus daripada cache. Proksi caching yang biasa digunakan termasuk cache MySQL, cache Nginx, dsb. Berikut ialah contoh kod menggunakan cache MySQL:

// 打开MySQL查询缓存
$query = "SELECT SQL_CACHE * FROM table";
$result = db_query($query);
while($row = mysql_fetch_assoc($result)) {}

// 使用数据
foreach($row as $key=>$value){
    echo $value;
}
  1. Caching serpihan halaman

Dalam pembangunan tapak web, beberapa serpihan halaman mungkin dimuatkan dengan kerap, tetapi sebahagian daripada kandungan mungkin tidak kerap berubah. Pada masa ini, bahagian kandungan yang tidak berubah ini boleh di-cache untuk mengurangkan tekanan pada pelayan. Berikut ialah contoh kod untuk menyimpan serpihan halaman:

// 检查缓存文件是否存在
if (file_exists('cache.html')) {
    // 从缓存文件中读取内容
    $content = file_get_contents('cache.html');
} else {
    // 生成页面内容,并存入缓存文件
    $content = generate_content();
    file_put_contents('cache.html', $content);
}

// 输出页面内容
echo $content;
  1. Menggunakan pengepala kawalan cache

Menggunakan pengepala kawalan cache boleh memberitahu pelayar tempoh sah fail yang dicache jika fail cache belum tamat tempoh penyemak imbas akan membaca fail terus dari cache dan bukannya memuat turun semula. Berikut ialah contoh kod untuk menetapkan pengepala kawalan cache:

// 设置缓存有效期为1小时
$expires = 60 * 60;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate("D, d M Y H:i:s", time() + $expires) . ' GMT');

// 输出页面内容
echo $content;

Melalui kaedah pengoptimuman cache di atas, kecekapan caching data tapak web boleh dipertingkatkan dengan berkesan dan beban pelayan dapat dikurangkan. Sudah tentu, untuk setiap tapak web, kaedah pengoptimuman tertentu masih perlu ditentukan berdasarkan situasi yang berbeza. Semoga kandungan di atas dapat membantu anda.

Atas ialah kandungan terperinci Contoh pengoptimuman prestasi PHP-FPM: kaedah untuk meningkatkan kecekapan caching data tapak web. 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