ホームページ >バックエンド開発 >PHPチュートリアル >PHP-FPM パフォーマンス最適化の例: Web サイトのデータ キャッシュ効率を向上させる方法

PHP-FPM パフォーマンス最適化の例: Web サイトのデータ キャッシュ効率を向上させる方法

WBOY
WBOYオリジナル
2023-10-05 11:27:16862ブラウズ

PHP-FPM パフォーマンス最適化の例: Web サイトのデータ キャッシュ効率を向上させる方法

PHP-FPM パフォーマンス最適化の例: Web サイトのデータ キャッシュ効率を向上させる方法

インターネットの急速な発展に伴い、Web サイトへのアクセス数も増加しています。 、そのため、Web サイトのパフォーマンスを向上させることが重要な問題となっています。一般的に使用される PHP インタープリターとして、PHP-FPM は Web サイトのパフォーマンスの最適化にとって特に重要です。この記事では、Web サイトのデータ キャッシュの効率を向上させるいくつかの方法を紹介し、具体的なコード例を示します。

  1. キャッシュ拡張機能の使用

PHP で一般的に使用されるキャッシュ拡張機能には、Redis、Memcached などが含まれます。これらの拡張機能はデータをメモリに保存し、データの読み取り速度を向上させます。キャッシュ拡張機能を使用すると、頻繁にアクセスされるデータの一部をキャッシュして、毎回データベースから読み取らなくても済みます。以下は、Redis をキャッシュとして使用するサンプル コードです。

// 连接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. キャッシュ プロキシの使用

Web サイトに大量のデータがある場合、データを直接読み取る方が効率的です。データベースからの値は低くなります。現時点では、キャッシュ プロキシを使用してデータベース クエリの結果をキャッシュに保存でき、次のクエリでキャッシュからデータを直接読み取ることができます。一般的に使用されるキャッシュ プロキシには、MySQL キャッシュ、Nginx キャッシュなどが含まれます。以下は、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. ページ フラグメントのキャッシュ

Web サイト開発では、一部のページ フラグメントが頻繁に読み込まれることがありますが、その一部のページ フラグメントは、コンテンツがロードされる可能性があります。頻繁に変更しないこと。現時点では、コンテンツの変更されない部分をキャッシュして、サーバーへの負荷を軽減できます。以下は、ページ フラグメントをキャッシュするためのサンプル コードです。

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

// 输出页面内容
echo $content;
  1. キャッシュ コントロール ヘッダーの使用

キャッシュ コントロール ヘッダーを使用すると、ブラウザーにページ フラグメントの有効期間を通知できます。キャッシュされたファイル。キャッシュされたファイルが期限切れになっていない場合、ブラウザはファイルを再ダウンロードするのではなく、キャッシュから直接読み取ります。以下は、キャッシュ制御ヘッダーを設定するためのサンプル コードです。

// 设置缓存有效期为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;

上記のキャッシュ最適化方法により、Web サイトのデータ キャッシュ効率が効果的に向上し、サーバーの負荷が軽減されます。もちろん、Web サイトごとに、さまざまな状況に基づいて具体的な最適化方法を決定する必要があります。上記の内容がお役に立てば幸いです。

以上がPHP-FPM パフォーマンス最適化の例: Web サイトのデータ キャッシュ効率を向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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