0

私は現在、いくつかの PHP 4 コードをクラシック ASP に書き直しており (聞かないでください)、各ペアをハードコーディングするよりも大きなマップをメモリにロードするためのより良い方法があるかどうかを調べています。

参考までに、PHP のハッシュ配列定義 (またはそれが何と呼ばれるものでも) には、約 300 の一意のキーと値のペアがあります。
私は次のようにASPでもう一度やりたいと思っています:

<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>

呼び出しごとにこのマップがメモリにロードされるので、これをより速く実行する方法は他にありますか? マップが使用されるのは、引数がキーの 1 つに一致するかどうかを確認する場合のみです。一致する場合は、値が取り出されて返されます。

ご協力いただきありがとうございます。

4

4 に答える 4

0

プロジェクトを続行する前に、ASPのアプリケーションオブジェクトとセッションオブジェクトを理解する必要があります。私はあなたがそれをグローバルキャッシュの外に保つ理由があると仮定していました(ユーザーの好みに基づいてオブジェクトのコンテンツを絶えず更新しなければならないなど)

ではごきげんよう

于 2009-03-18T20:59:18.477 に答える
0

従来の ASP を使用している場合は、これらのオブジェクトのいずれかに依存する必要があります。データベース テーブルまたは XML を使用することは、検討できる他のオプションです。

これを約 300 アイテムに使用している場合は、これを何度も呼び出さないようにすることをお勧めします。

于 2009-03-18T15:41:22.657 に答える
0

グローバル ASP キャッシュについて知りました。これにより、マップを一度作成してキャッシュに入れることができ、その後の要求でマップをキャッシュから簡単に引き出すことができます。キャッシュはメモリ内に保持されるため、パフォーマンスが大幅に向上します。

<%
Application.Contents(object here)
%>

乾杯

于 2009-03-18T17:26:57.443 に答える
0

schar が言うように、ディクショナリ オブジェクトを Application オブジェクトに格納します。

于 2009-03-30T22:59:03.013 に答える