Web アプリケーションにおけるキャッシュの 7 つの武器:
1 データベース キャッシュ
通常、データベースはクエリ結果のキャッシュをサポートしており、キャッシュの有効性を確保するための複雑なメカニズムを備えています。 MySQL や Oracle などのデータベースの場合、適切なキャッシュ構成によるシステム パフォーマンスの向上は非常に重要です。
2 データ接続駆動型キャッシュ。
PHP の ADODB や J2EE の接続ドライバー、さらには HIbernate などの ORM もコネクタとみなされます。ここでの効果的なキャッシュ メカニズムはそれほど強力ではありません。このステップを使用してキャッシュを実装する最大の利点の 1 つは、データの取得方法を変更しないことができることです。たとえば、
$db->CacheGetAll("select * from table"); というステートメントを変更する必要はなく、キャッシュを透過的に実装できます。これは主に、あまり変更されない一部のデータに適用されます。たとえば、一部のデータ ディクショナリは頻繁には変更されません。
3 システムレベルのキャッシュ
システム内のキャッシュ ライブラリを使用して、必要なデータを自分でキャッシュできます。たとえば、木の切り株メニューを生成すると、大量のデータが消費されます。生成されたツリーをキャッシュできるようになります。この欠点は、ツリーの一部が更新されるときに、キャッシュの内容を手動で更新する必要があることです。使用されるキャッシュ ライブラリには、さまざまなキャッシュ方法があり、コンテンツをハード ディスクに保存するものと、メモリに保存するものがあります。もちろん、コンテンツをキャッシュするようにシミュレートすると、速度が大幅に向上します。
4 ページレベルのキャッシュ
これは、コンテンツ管理システムで最もよく使用されます。それは、静的ページを生成することです。ここでのキャッシュ制御メカニズムは最も複雑であり、一般に万能の解決策はなく、特定の状況の特定の分析のみが存在します。通常、静的リーフを生成するときは、静的リーフの取得速度を確保するために、古いリーフやほとんどアクセスされないリーフを削除するメカニズムが必要です。
5 コンパイル済みリーフを使用し、FastCGI として読み込む方法
PHP の場合は zend などのコンパイル エンジンを使用でき、JSP 自体の場合は事前にコンパイルされました。 FastCGI の原理は、スクリプトを実行するたびに読み取る必要がなく、スクリプトを事前にロードすることです。これは、JSP がサーブレットに事前にコンパイルされてからロードされるのと同じです。
6 フロントキャッシュ
Squid を Web サーバーのフロントキャッシュとして使用できます。
7 クラスター
データベースをクラスター化し、Web サーバーをクラスター化し、Squild フロントエンド マシンをクラスター化します
初心者向け、プログラムがクラッシュした場合、まず、コードにエラーがあるかどうか、メモリ リークがあるかどうかを確認する必要があります。メモリ リークがない場合は、通常、問題はデータベース接続にあります。
上記のキャッシュ手法を総合的に適用することで、高負荷なWebアプリケーションの開発が容易になります。