ほとんどの場合、当社の Web サイトはサイト データ ストレージのコンテナとしてデータベースを使用します。 SQL クエリを実行するときの一般的なプロセスは次のとおりです。データベースに接続します - > SQL クエリを準備します - > データベースにクエリを送信します - > データベースから返された結果を取得します - > データベース接続を閉じます。ただし、データベース内の一部のデータは完全に静的であるか、頻繁に変更されません。キャッシュ システムは SQL クエリの結果をより高速なストレージ システムにキャッシュするため、頻繁なデータベース操作を回避し、プログラムの実行時間を大幅に短縮できます。後で処理してください。
一般的に使用される PHP キャッシュ技術
PHP キャッシュ技術のデータ キャッシュ:
ここで言うデータ キャッシュとは、ページがアクセスされるたびに、対応するキャッシュ データが存在するかどうかを最初に検出します。を実行すると、データベースに接続してデータを取得し、クエリ結果をシリアル化してファイルに保存します。将来的には、同じクエリ結果がキャッシュ ファイルから直接取得されるようになります。
PHPキャッシュ技術のページキャッシュ:
ページにアクセスするたびに、まず対応するキャッシュされたページファイルが存在するかどうかを検出し、存在しない場合はデータベースに接続してデータを取得し、ページを表示してキャッシュされたファイルを生成します。ページ ファイルも同時に作成されるため、次回アクセスしたときにページ ファイルが有効になります。 (インターネット上のテンプレート エンジンや一部の一般的なキャッシュ クラスには通常、この機能があります)
PHP キャッシュ技術のメモリ キャッシュ:
ここでは紹介しませんが、この記事では簡単に説明します:
Memcached。高性能で分散型のメモリ オブジェクト キャッシング システム。データベースの負荷を軽減し、動的アプリケーションでのアクセス速度を向上させるために使用されます。
Dbcached は、Memcached と NMDB に基づいた分散キー値データベース メモリ キャッシング システムです。
上記のキャッシュ技術は頻繁なデータベースクエリの問題を十分に解決できますが、データがタイムリーではないという欠点があります。 ここで私がプロジェクトでよく使用する方法を示します:
PHP キャッシュ技術の時間トリガーキャッシュ:
Check Ifファイルが存在し、タイムスタンプが設定された有効期限より小さい場合、ファイル変更タイムスタンプが現在のタイムスタンプから有効期限タイムスタンプを引いた値より大きい場合はキャッシュを使用し、それ以外の場合はキャッシュを更新します。
設定時間内にデータを更新する必要があるかどうかを判断せず、設定時間後にキャッシュを更新します。上記は、適時性の要件が高くない場合の使用にのみ適しています。それ以外の場合は、以下を参照してください。
PHP キャッシュ技術のコンテンツトリガーキャッシュ:
データが挿入または更新されると、キャッシュが強制的に更新されます。
ここで、大量のデータを頻繁に更新する必要がある場合、最終的にはディスクの読み取りおよび書き込み操作が関与することがわかります。これを解決するにはどうすればよいですか? 私は通常、すべてのコンテンツをキャッシュするのではなく、頻繁に変更されない一部のコンテンツをキャッシュして問題を解決します。ただし、負荷が高い場合は、共有メモリをキャッシュ システムとして使用するのが最善です。
ここでは PHP キャッシュが解決策になる可能性がありますが、その欠点は、依然として各リクエストを PHP によって解析する必要があるため、負荷が高い場合には効率の問題がさらに深刻になることです。この場合、静的キャッシュが使用される可能性があります。
PHP キャッシュ技術の静的キャッシュ
ここで言う静的キャッシュとは、HTML キャッシュを指します。HTML キャッシュは、通常、HTML が使用される場合、コンテンツが更新されないページであるため、通常、データを更新する必要があるかどうかを判断する必要はありません。頻繁に変更します。データが更新された場合は、HTML を強制的に更新するだけです。
上記では、cad2008 のインストール手順と、cad2008 のインストール手順を含む PHP キャッシュ テクノロジの使用手順を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。