現在の PHP キャッシュを次の 4 つのメカニズムに分割しました。最初の方法では、ZEND 社のモジュールなどの有料のモジュールをロードする必要がありますが、2 番目の方法についてはあまり説明しません。 3 番目の方法と 4 番目の方法は、現在、PHP 業界でより一般的な方法です。
3つのカテゴリーに分かれています
1. キャッシュモジュール
これは、Zend の Cache 製品など、サーバー上で行われるキャッシュ設定です。主な原理は、PHP コード ファイルを一度コンパイルしてメモリに保存することにより、I/O 操作を減らしてアクセスを高速化することです。この記事の範囲内で議論します
2.HTMLメソッド
PHP が HTML を生成する方法はこの記事の範囲外であるとおっしゃるかもしれませんが、個人的には、この方法は依然として Cache 方法であると考えています。たとえば、一部の国産 CMS などで HTML を生成するための人気のあるプログラムが多数あります。については、この記事の説明の範囲外であるため、簡単に説明します。
3. キャッシュファイルを生成します
これは、頻繁に変更されない一般的に使用される量をテキストに保存し、mysql クエリの量を減らしてプログラムの実行を高速化するためです。詳細な内容は後ほど紹介します
4.phpキャッシュメカニズム
たとえば、Discuz! フォーラムで現在使用されているキャッシュ メカニズムなど、smarty テンプレートのキャッシュ メカニズムについては、後で詳しく説明します
Discuz! フォーラム ソフトウェア バージョン 5.0 を例に挙げます (おそらく、例として PhpWind や CMS の代わりに Discuz! が使用される理由について言及したと思います。主に、Discuz! が、私が説明したい後者の 2 つのキャッシュ メカニズムとよりよく組み合わせるためです。一方、他のソフトウェアは、製品は多かれ少なかれこの記事の要件に適していません) たとえば、3 番目のメカニズムでは、Discuz! は、基本設定と一般的に使用される変数を、cache_settings .php などのファイルに保存します。フォーラムによって設定された変数は配列に保存され、このファイルに保存されます。これらの変数は、4 番目のメカニズムでこのファイルを含めることで使用されます。コンパイル済みのファイル、つまり、index.php ファイルへのアクセスを要求するとき、プログラムはまず forumdata/templates にコンパイル済みのファイルが生成されているかどうかを確認します。存在する場合は、そのファイルが含まれます。テンプレートフォルダーにテンプレートを生成し、そのようなプロセスを含めます
この処理メカニズムでは、負荷が小さく小規模なサイトの場合は明らかに無駄が多くなりますが、中規模および大規模サイト、または大規模および非常に大規模なサイトの特定の実装では、パフォーマンスは優れていますが、明らかにフォーラムは負荷が比較的大きいようですが、国内の水フォーラムがたくさんあります
Phpwind フォーラムを見てみましょう。Discuz! の圧力下にある国内の PHP フォーラムで言及する価値のある唯一のフォーラム システムであるため、明らかに PW はテキストとしてあまり適切に扱われていないようです。同様に、このテキストは、特に大規模および中規模のサイトの負荷分散に大きな負荷をかけます
これを書いていると急に書きたくなくなりました。元々はプラグイン開発におけるキャッシュとテンプレートの適用に感謝したいと思っていましたが、突然、現在の PHP についての個人的な理解をいくつか書こうと思いました。キャッシュメカニズムについては、ここで 2 回書きました、犬。今日のサーバー、私の母の MYSQL はいつもタイムアウトになります、あなたの母、サーバーの構成は少し良いです、くそー、もう書きません