4

PHP には多数のオペコード キャッシュがあります。私が理解しているように、これはアプリケーションのキャッシュの側面を処理するスクリプトです。特にコンポーネントのインストールを必要としない、従来のaspに似たものはありますか?

IIS キャッシュ動作に関しては、ここを読むと、その動作は完成したページではなく、ある種のコンパイル前のステップに関連しているように見えます。私が間違っている場合は修正してください

4

3 に答える 3

3

これまでの回答に対するコメントと、質問の編集を見ると、キャッシュについて少し混乱しているようです。

私たちが話しているキャッシングには2つのタイプがあります。

  • オペコードまたはテンプレートのキャッシュ
  • 出力キャッシュ

オペコードまたはテンプレート キャッシングは、単なるテキスト ファイルである生のスクリプト ファイルが、スクリプト エンジンで実行できるオペコードのメモリ内セットに変換されるときに行われるキャッシングです。PHP には、後でスクリプト ファイルが要求されたときに、このような一連のオペコードを再利用できる追加ツールがいくつかあります。同様に、ASP は「コンパイルされた」オペコードのキャッシュをメモリとディスクに保持するため、解析プロセス全体を再度実行することなく、同じスクリプトに対する後続の要求を処理できます。

出力キャッシュは、応答バッファーに送信されるスクリプトの生成された出力がキャッシュされる場所です。これにより、同じ URL (および他のヘッダーと一致する可能性がある) に対する後続の要求がスクリプトをまったく再実行せず、以前にキャッシュされた出力を再送信します。 .


ASP.NET には出力キャッシュ機能がありませんが、ASP には出力キャッシュ機能がありません。私は、PHP やその通常のプラットフォームについて、そのような機能が利用できるかどうかについてコメントできるほど詳しくありません。

IIS マネージャー (IIS6) で ASP の「オペコード」キャッシュ (テンプレート キャッシュと呼ばれます) を構成できます。[Web サイト] ノードの [プロパティ] ウィンドウを開き、[ホーム ディレクトリ] タブに移動し、[構成...] をクリックして、[キャッシュ オプション] タブを選択します。デフォルトでは、500 の「コンパイル済み」ページがメモリにキャッシュされ、2000 がディスクにキャッシュされます。


この回答の元のバージョンへのコメントでは、IIS によってホストされている PHP もテンプレート キャッシュの恩恵を受けるかどうかを尋ねているようです。それは、PHP がプラットフォームにどのように追加されるかによって異なります。

私は PHP についてほとんど何も知りませんが、IIS スクリプト マッピングが拡張子 PHP のファイルをマップする単なる別の dll だと思います。その場合、ASP のテンプレート キャッシュの恩恵を受けません。

以下はおそらくフィクションですが、絵を完成させるためのものです:-

もう 1 つのありそうもない可能性は、PHP が何らかの方法で ASP スクリプト言語として追加された場合です。この場合、PHP 拡張子を持つファイルが ASP.DLL にマップされ、ファイルに <%@ language="PHP" が含まれるか、アプリケーション構成のデフォルト言語が PHP に設定されます。このありそうもない設定では、ASP はキャッシュされるテンプレートを作成しますが、そのテンプレートに「コンパイル済み」のオペコードなどが含まれているかどうかは PHP 次第です。

于 2008-10-04T15:24:27.963 に答える
2

それはあなたが「キャッシュ」が何を意味するかによります。

IIS 6.0には、ここで説明するテンプレートキャッシュがあります(MS Windows 2003 TechCenter)。

「ASPはASPスクリプトを含むテンプレートまたはテンプレートファイルを処理します。ASPはこれらのテンプレートをテンプレートキャッシュに保存し、その後のクライアントリクエストのためにキャッシュされたテンプレートを提供します。キャッシュされたテンプレートは毎回コンパイルされないため、ASPテンプレートをキャッシュするとパフォーマンスとスケーラビリティが向上します。と呼ばれる。」

キャッシュの他の違いはここにあります。

データキャッシングの簡単なメカニズムは、データキャッシングによるASPパフォーマンスの向上に関するこの記事で紹介されています。

「残念ながら、従来のASPにはキャッシュシステムが組み込まれていませんが、Applicationオブジェクトを使用してデータを保存することで、キャッシュシステムを簡単に構築できます。この記事で説明する手法を使用すると、アップグレードするレガシーWebサイトに有用なパフォーマンスの向上をもたらすことができます。データベースまたはコードをASP.NETに移植することは、実行可能なオプションではありません。」

于 2008-10-04T16:28:03.810 に答える
1

たぶん、このクラスは何かをキャッシュするのに役立ちます。

http://www.webdevbros.net/2006/11/18/cache-object-for-classic-asp/

コンポーネントをインストールする必要はなく、アプリケーション オブジェクトをストレージとして使用します。したがって、同じキャッシュがすべての訪問者によって使用されます。次のようなシナリオに使用できます: 重い SQL クエリをキャッシュする...

于 2008-10-04T21:19:42.970 に答える