質問
現在、いくつかのPHP 4コードをClassic ASPに書き直しており(尋ねないでください)、各ペアをハードコーディングするよりも大きなMapをメモリにロードするより良い方法がある場合は解決しようとしています。
アイデアを提供するために、PHPのハッシュ化された配列定義(またはそれが何であれ)には約300の一意のキー値のペアがあります。
ASPで次のようにもう一度やりたいと思います:
<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>
このマップが各呼び出しでメモリにロードされると、これを行うより高速な方法は他にありますか?マップが使用されるのは、引数がいずれかのキーに一致するかどうかを調べることだけです。一致する場合、値が取り出されて返されます。
ご協力ありがとうございます。
解決
プロジェクトを続行する前に、ASPのアプリケーションとセッションオブジェクトを理解する必要があります。私はあなたがそれをグローバルキャッシュの外に保つ理由があると仮定していました(ユーザー設定に基づいてオブジェクトのコンテンツを常に更新しなければならないなど)
すべて最高
他のヒント
従来のASPを使用している場合、これらのオブジェクトのいずれかに依存する必要があります。データベーステーブルまたはXMLを使用することも、検討できるオプションです。
これを約300個のアイテムに使用している場合は、これを何度も呼び出さないようにしてください。
マップを1回作成してキャッシュに入れるだけで、将来のリクエストでキャッシュから簡単に取り出すことができるグローバルASPキャッシュについて知りました。キャッシュはメモリ内に保持されるため、パフォーマンスは劇的に向上します。
<%
Application.Contents(object here)
%>
乾杯
scharのように、辞書オブジェクトをApplicationオブジェクトに保存します。