ホームページ  >  記事  >  バックエンド開発  >  PHP CMSの各種キャッシュの比較とその対処方法

PHP CMSの各種キャッシュの比較とその対処方法

WBOY
WBOYオリジナル
2016-06-13 13:45:45775ブラウズ

PHP CMS の各種キャッシュの比較
PHP でよく使われるキャッシュは何ですか?
それは関係ありますか?
アドバイスを求めています!

-----解決策---------
PHP のいくつかの一般的なキャッシュ テクノロジ
------解決策------------------
リクエスト チェーンを見てください

クライアント-->クライアント キャッシュ--->>プロキシ (キャッシュ サーバー) --->|静的ファイル
|-動的 php -->オペコード キャッシュ (apc)クラス) --> ファイル キャッシュ --->memcache キャッシュ (またはメモリ キャッシュ) --> データベース キャッシュ
------解決策------------------
データ キャッシュ:
ここで説明するデータ キャッシュは、ページにアクセスするたびに、まず対応するキャッシュ データが存在するかどうかを検出し、データベースに接続して取得します。データとクエリ結果はシリアル化され、ファイルに保存されます。将来、同じクエリ結果がキャッシュ テーブルまたはファイルから直接取得されます。

ページ キャッシュ:
ページにアクセスするたびに、対応するキャッシュされたページ ファイルが存在するかどうかが最初に検出され、存在しない場合はデータベースに接続してデータを取得し、ページを表示します。同時にキャッシュされたページ ファイルを生成します。これにより、次回アクセスしたときにページ ファイルが有効になります。 (インターネット上のテンプレート エンジンと一部の一般的な PHP キャッシュ メカニズム クラスには通常、この機能があります)

時間トリガー キャッシュ:
ファイルが存在するかどうか、およびタイムスタンプが設定された有効期限よりも小さいかどうかを確認します。ファイル変更タイムスタンプが次より大きい 現在のタイムスタンプから有効期限タイムスタンプを引いた値の方が大きい場合はキャッシュを使用し、それ以外の場合はキャッシュを更新します。

コンテンツトリガーキャッシュ:
データの挿入または更新時に PHP キャッシュメカニズムを強制的に更新します。

静的キャッシュ:
ここで言う静的キャッシュとは、HTML や XML などのテキスト ファイルを直接生成し、更新の際に再生成する静的なキャッシュのことで、あまり変更のないページに適しています。黙り込む。
上記の内容はコードレベルのソリューションであり、他のフレームワークを直接 CP するため、変更するのが面倒ですが、内容は似ており、簡単に実行でき、さまざまな方法で使用できます。サーバー側のキャッシュ ソリューション (非コード レベル) では、

メモリ キャッシュを実現するために複数の関係者の協力が必要です。
Memcached は、高性能の分散メモリ オブジェクト PHP キャッシュ メカニズム システムであり、メモリ キャッシュを削減するために使用されます。動的アプリケーションのデータベースの数がロードされ、アクセス速度が向上します。

PHP バッファ:
eaccelerator、apc、phpa、xcache などがあります。これらについては詳しく説明しませんので、そのようなものがあることを知っている場合は、自分の目で確認してください。 OK

MYSQL キャッシュ:
これは非コード レベルとも考えられます。クラシック データベースはこの方法を使用します。以下の実行時間 (0.09xxx など) を見てください。
に基づいて段落を投稿しました。青い奴 my.ini の一部を修正したところ、2G MYISAM テーブルが 0.05S くらいになることがあるそうです。 1 年近くかけて修正したそうです。
------解決策------------------
問題は非常に大きいです...

実際、キャッシュは PHP (他の言語と同じ) アプリケーションのほぼすべての実行リンクに追加できます。

キャッシュを使用するかどうかは、次によって異なります。開発コストとキャッシュ自体のコスト...

アルゴリズムを除けば、ソフトウェア開発の効率を向上させることができるのはキャッシュだけです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。