PHPでRESTful APIのキャッシュ制御を実装する方法
PHP で RESTful API のキャッシュ制御を実装する方法
RESTful API を開発する場合、パフォーマンスを向上させ、サーバーの負荷を軽減するために、キャッシュは非常に重要な考慮事項です。適切なキャッシュ制御により、データベースへの頻繁なクエリが削減され、インターフェイスの応答速度が向上し、ネットワーク帯域幅とサーバー リソースが節約されます。この記事では、PHP で RESTful API のキャッシュ制御を実装し、パフォーマンスと安定性を向上させる方法を紹介します。
- HTTP キャッシュ ヘッダー情報の使用
RESTful API では、HTTP ヘッダー情報を使用してキャッシュを制御できます。一般的に使用されるヘッダー情報は次のとおりです。
- Cache-Control: キャッシュ メカニズムを制御するための命令。
max-age
は、キャッシュの最大保存時間を設定するために使用されます。キャッシュ、no-cache
リクエストごとにリソースを強制的に再取得するために使用されます - Expires: リソースの有効期限を設定します。有効期限が切れると、ブラウザはリソースの更新を再リクエストします。 resource
- Last-Modified: リソースの最終変更時刻を識別します
- ETag: リソースを識別するエンティティ タグ。リソースが変更されると、ETag も変更されます
- If-Modified-Since: リソースが指定された date 以降に更新された場合は、更新されたコンテンツを返します
- If-None-Match: リソースの ETag が指定された値と同じである場合は、 304 Not Modified ステータス コード
以下は、PHP で HTTP キャッシュ ヘッダー情報を設定する方法を示すサンプル コードです。
<?php // 检查是否已经缓存了响应 if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])){ // 检查资源是否有更新 $lastModified = filemtime($file); $ifModifiedSince = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']); if($lastModified <= $ifModifiedSince){ // 返回304 Not Modified状态码 header('HTTP/1.1 304 Not Modified'); exit; } } // 设置响应的Last-Modified和Cache-Control头信息 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastModified).' GMT'); header('Cache-Control: public, max-age=3600'); // 输出响应内容 echo $response; ?>
- データベース キャッシュの使用
さらにHTTP ヘッダー情報を使用してキャッシュを制御するだけでなく、データベース キャッシュを使用してパフォーマンスを向上させることもできます。 API の応答結果をデータベースに保存すると、次のリクエストで複雑なクエリや計算を実行することなく、キャッシュからデータを直接取得できます。このアプローチにより、データベースの負荷とクエリ時間が大幅に削減され、外部リソースへの依存が軽減されます。
PHP でデータベース キャッシュを使用する方法を示すサンプル コードを次に示します。
<?php // 检查是否已经缓存了响应 if($cachedResponse = getCachedResponse($request)){ // 返回缓存的响应结果 echo $cachedResponse; exit; } // 执行复杂的查询和计算 $response = doExpensiveQuery($request); // 存储缓存的响应结果 storeCachedResponse($request, $response); // 输出响应内容 echo $response; ?>
- CDN キャッシュの使用
一般的に使用されるもう 1 つのキャッシュ制御方法は、CDN を使用することです。 (コンテンツ配信ネットワーク)。 CDN は、API 応答結果を世界中のノードにキャッシュして、より高速なアクセスとより優れた信頼性を提供できます。 AWS CloudFront や Fastly などのクラウド サービス プロバイダーの使用を選択して、キャッシュ戦略をカスタマイズし、CDN を管理できます。
CDN キャッシュを使用するには、いくつかの構成作業が必要です。これには通常、キャッシュ ヘッダー情報、キャッシュ ポリシー、キャッシュ ルールなどの設定が含まれます。特定の構成手順については、関連する CDN プロバイダーのドキュメントを参照してください。
要約すると、キャッシュは RESTful API のパフォーマンスと安定性を向上させるために非常に重要です。 HTTP ヘッダー情報を適切に設定し、データベース キャッシュと CDN キャッシュを使用することで、サーバーの負荷が効果的に軽減され、インターフェイスの応答速度が向上し、より良いユーザー エクスペリエンスを提供できます。実際の開発では、最高のパフォーマンスと効果を得るために、特定のニーズに応じて適切なキャッシュ戦略を選択してください。
以上がPHPでRESTful APIのキャッシュ制御を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
