1. データ キャッシュ
ここでいうデータ キャッシュとは、データベース クエリ キャッシュのことを指します。対応するキャッシュ データ
が存在するかどうか。存在しない場合は、データベースに接続してデータを取得し、クエリ結果をシリアル化してファイルに保存します。
同じクエリ結果将来的に直接処理されます。キャッシュ テーブルまたはファイルから取得されます。
最も広く使用されている例は、結果 ID をテーブルにキャッシュする Discuz の検索機能です。次回同じキーワードを検索するときは、
最初にキャッシュ テーブルを検索します。
一般的な方法として、複数のテーブルが関連付けられている場合、配列を生成し、添付されたテーブルの内容をメインテーブルのフィールドに保存します。
必要に応じて、このように配列を分解します。利点は、1 つのテーブルしか読み取れないことですが、欠点は、2 つのデータの同期にさらに多くの手順が必要になることです。
データベースが常にボトルネックであり、速度を上げるためにはハード ディスクの使用が鍵となります。この点。
2. ページ キャッシュ
ページにアクセスするたびに、まず対応するキャッシュされたページ ファイルが存在するかどうかを検出し、存在しない場合はデータを接続します。
ライブラリは、データを取得し、ページを表示し、同時にキャッシュ ページ ファイルを生成します。そうすることで、ページ ファイルは次回アクセスしたときに
使用されます。 (インターネット上のテンプレート エンジンと一部の一般的なキャッシュ クラスには通常、この機能があります)。
3. 時間トリガー キャッシュ
ファイルが存在し、タイムスタンプが設定された有効期限よりも小さいかどうかを確認します。ファイル変更のタイムスタンプが有効期限より小さい場合は、現在のタイムスタンプ
有効期限のタイムスタンプが大きい場合はキャッシュを使用し、それ以外の場合はキャッシュを更新します。
4. コンテンツトリガーのキャッシュ
データが挿入または更新されると、キャッシュは強制的に更新されます。
5. 静的キャッシュ
ここでいう静的キャッシュとは、HTML や XML などのテキスト ファイルを直接生成し、更新があった場合に再生成する静的なキャッシュを指します
Once は、あまり変更のないページに適しています。
上記のコンテンツはコード レベルのソリューションです。私は他のフレームワークを直接 CP しているため、変更するのが面倒です。コンテンツは似ており、簡単に実行できます。また、さまざまな方法で使用できますが、次のコンテンツはサーバー側のキャッシュ ソリューションであり、コード レベルではありません。複数の
の協力が必要です。パーティでそれを達成します。
6. メモリ キャッシュMemcached は、動的アプリケーションのデータベース負荷を軽減するために使用される高性能の分散メモリ オブジェクト キャッシング システムです。
改善アクセス速度。
7. PHP バッファとアクセラレータeaccelerator、apc、phpa、xcache があります。
8. MYSQL キャッシュ。9. リバースプロキシベースの Web キャッシュ
Nginx、SQUID、mod_proxy など (apache2 以降は mod_proxy と mod_cache に分かれています)。
以上が一般的に使用されるバッファリング手法について説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。