ここで言うデータ キャッシュとは、ページにアクセスするたびに、まず対応するキャッシュ データが存在するかどうかを検出し、データベースに接続してデータを取得し、シリアル化します。クエリ結果をファイルに保存すると、今後は同じクエリ結果がキャッシュ テーブルまたはファイルから直接取得されます。
1. ユニバーサル キャッシュ テクノロジ:
データ キャッシュ: ここで説明するデータ キャッシュは、ページにアクセスするたびに、まず対応するキャッシュ データが存在するかどうかを検出します。データを取得し、クエリ結果をシリアル化し、ファイルに保存します。将来は、同じクエリ結果がキャッシュ テーブルまたはファイルから直接取得されます。最も広く使用されている例は、結果 ID をテーブルにキャッシュし、次回同じキーワードを検索するときに最初にキャッシュ テーブルを検索する Discuz の検索機能です。一般的な方法として、複数のテーブルが関連付けられている場合、アタッチされたテーブルの内容が配列に生成され、メイン テーブルのフィールドに保存されます。この利点は、必要に応じて配列を分解することです。 1 つのテーブルしか読み取れないという欠点は、2 つのデータを同期するためにさらに多くの手順が必要になることです。これは、速度を犠牲にすることが常にボトルネックになります。
2. ページ キャッシュ: ページにアクセスするたびに、対応するキャッシュされたページ ファイルが存在するかどうかが最初に検出され、存在しない場合はデータベースに接続し、データを取得してページを表示し、キャッシュされたページ ファイルを生成します。同時に、次回アクセスするときにページ ファイルが活躍するようになります。 (インターネット上のテンプレート エンジンと一部の一般的な PHP キャッシュ メカニズム クラスには通常、この機能があります)
3. 時間トリガー キャッシュ: ファイルが存在するかどうか、およびタイムスタンプが設定された有効期限よりも小さいかどうかを確認します。有効期限のタイムスタンプが大きい場合はキャッシュを使用し、それ以外の場合はキャッシュを更新します。
4. コンテンツトリガーのキャッシュ:
データが挿入または更新されると、PHP キャッシュ メカニズムが強制的に更新されます。
5. 静的キャッシュ:
ここで言う静的キャッシュとは、HTML や XML などのテキスト ファイルを直接生成し、更新があったときに再生成する静的キャッシュを指します。あまり変更がないページに適しています。ここではそれについて話さないでください。
上記のコンテンツはコードレベルのソリューションです。次のコンテンツはコードレベルではなく、それを実現するには複数の関係者の協力が必要です。
Memcached は、高性能の分散メモリ オブジェクト PHP キャッシュ メカニズム システムは、データベースの負荷を軽減し、動的アプリケーションでのアクセス速度を向上させるために使用されます。
7. PHP バッファー: eaccelerator、apc、phpa、xcache については説明しません。これを知っていれば問題ありません。
8.これは、非コード レベルとも見なされます。以下の実行時間 (0.09xxx など) を見てください。
リバース プロキシに基づく Web キャッシュ:
10. DNS ポーリング:
BIND はオープンソースの DNS サーバー ソフトウェアです。これについては、誰もが知っています。
一部の大規模な Web サイトがこれを行っていることは知っています。簡単に言うと、同じページまたはファイルが異なるサーバーにキャッシュされ、北と南に従って適切なサーバーに自動的に解析されます。