ネットワーク アプリケーションでは、Web イメージ、CSS ファイル、JS ファイルなど、多くのページやリソースは、ユーザーがアクセスした後、繰り返しリクエストを必要とする場合があります。これらのリクエストは場合によってはキャッシュされるため、ユーザーの待ち時間が短縮されます。およびサーバー負荷。
PHP は、Web アプリケーションの開発に広く使用されている非常に人気のあるプログラミング言語です。 PHP には、HTTP プロトコルでのリクエストとレスポンスを処理するための便利な組み込み関数が多数用意されています。非常に便利な関数の 1 つは header() 関数です。この関数は、応答ステータス コード、コンテンツ タイプ、リダイレクトなどの HTTP ヘッダー情報を設定するために使用されます。さらに、header() 関数を使用してキャッシュをセットアップすることもできます。
header() 関数を使用したキャッシュの設定は非常に簡単で、Cache-Control と Expires という 2 つの HTTP ヘッダーを設定するだけです。 Cache-Control ヘッダーは、キャッシュの有効期間、キャッシュがパブリックであるかどうか、再検証を強制するかどうかなどのキャッシュ制御方法を指定するために使用されます。 Expires ヘッダーは、キャッシュの有効期限の時刻または日付を指定するために使用され、通常、キャッシュの有効性を保証するために Cache-Control ヘッダーと組み合わせて使用されます。
header() 関数を使用して HTTP キャッシュを設定する方法を示す PHP コードの例をいくつか示します。
キャッシュ コントロール ヘッダーの例:
// 缓存有效期为30秒 header("Cache-Control: max-age=30"); // 缓存有效期为1小时 header("Cache-Control: max-age=3600"); // 禁用缓存 header("Cache-Control: no-cache, no-store, must-revalidate"); header("Pragma: no-cache"); header("Expires: 0");
Expiration Time ヘッダーの例:
// 缓存1小时 header("Expires: " . gmdate("D, d M Y H:i:s", time()+3600) . " GMT"); // 缓存到特定日期 $expiration_date = strtotime("next Monday"); header("Expires: " . gmdate("D, d M Y H:i:s", $expiration_date) . " GMT");
さらに、PHP では、apc_add()、apc_fetch()、Memcached、Redis などの他のキャッシュ操作関数やクラスも使用できます。これらの関数やクラスは、より複雑で柔軟なキャッシュ関数を提供します。 . より高度なキャッシュのニーズを満たすことができます。
キャッシュを使用する場合は、次のようないくつかのキャッシュ戦略と実践に注意する必要があります。
Web アプリケーションでは、キャッシュはパフォーマンスを向上させ、コストを削減するための重要なテクノロジの 1 つです。 PHP が提供するキャッシュ機能と手法を使用すると、アプリケーションの応答性とユーザー エクスペリエンスを大幅に向上させることができます。
以上がPHPでネットワークリクエストキャッシュを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。