アプリケーションオブジェクトの組み込みコレクションには、デフォルトのアプリケーション(「キー」)で使用できます。以下は、ASP JavaScriptアプリケーションオブジェクトのコンテンツと静的材料でキャッシュを作成する経験です。以下でそれについてもっと学びましょう!
Application.Contentsを使用する場合、次のような醜いもののみを使用できます。
for(var i = 0; i <15000; i ++){
Application.Lock();
// application.contents(i)= "sdfdsffdsaf";
アプリケーション(i)= "sdfdsffdsaf";
application.unlock();}
ここでは、1.5Wの文字列をApplication.Contentsに保存します。
Application.StaticObjectsを使用した後:
StaticObjectは直接アクセスを許可しないため、データを保存するStaticObjectとして辞書を定義します。
<object id = "dict" runat = "server" scope = "application" program = "scripting.dictionary"> </object>
Scripting.Dictionary自体は非常に高速であり、StaticObjectsの収集速度の比較に大きな影響を与えません。
辞書の速度:
var d = new ActiveXObject( "Scripting.Dictionary");
for(var i = 0; i <15000; i ++){
d.item(i)= "sdfdsffdsaf";}
1.5Wの補間、172ms
もちろん、カスタムオブジェクトvar d = new Object(); d [i] = ..はより速く、1.5w倍のコストは80〜90msですが、関数ははるかに弱いため、辞書を使用します。
以下の公式テストを参照してください
for(var i = 0; i <15000; i ++){
Application.Lock();
application.staticObjects( "dict")。item(i)= "sdfdsffdsaf";
application.unlock();}
時間は6953msです。当初、StaticObjectsコレクションのアクセス速度がキャッシュの要件を満たすことができないと判断されます。この速度は、Ado OLEDBがSQL Server 2000を読み取る時とほぼ同じです。
ただし、StaticObjectsの利点はオブジェクトを保存できることであり、辞書はデータだけでなくキャッシュオブジェクトとして使用できる他のオブジェクトも保存できることです。
application.staticObjects( "dict")にオブジェクトを入れました:
application.staticObjects( "dict")。item( "o")= new object();
for(var i = 0; i <15000; i ++){
Application.Lock();
application.staticObjects( "dict")。item( "o")[i] = "sdfdsffdsaf";
application.unlock();}
6656ms、少し速い。オブジェクトのもう1つのレイヤーは、速度を遅くしません。低速は、複雑な構造のためではなく、staticobjectsのアクセス占有によるものです。
プレストアDICTのリファレンス
var t = application.staticObjects( "dict");
for(var i = 0; i <15000; i ++){
Application.Lock();
t.item( "o")[i] = "sdfdsffdsaf";
application.unlock();}
3094ms、時間が半分以上短縮されました。 JSの節約前の戦略がT.Item前( "o")も節約している場合はどうなりますか?
var t = application.staticObjects( "dict")。item( "o");
for(var i = 0; i <15000; i ++){
Application.Lock();
t [i] = "sdfdsffdsaf";
application.unlock();}
最終的に成功し、アプリケーションの半分のみが成功しました。 StaticObjectsメモリ領域がゆっくりと保護されているのではなく、時間が「参照」の取得に費やされているようです。 StaticObjectsは、オブジェクトを保存する必要があるため、コンテンツよりも優れたセキュリティ対策を備えています。
辞書の強力な機能に依存して、適切にカプセル化し、put()、get()、contains()などの一般的な方法を使用してアクセスすると、強力なキャッシュです。
////述べる
.sctコンポーネントをカプセル化しました。 ASP JavaScriptによって書かれた、時間があればそれを送ったので、私は今日ここにいます。
ContensとStaticObjectsが参照する速度をテストしました。 20倍で0ms、速度の100倍は約5倍、500〜1500回は速度差の10倍でした。ただし、買収後のアクセスは影響を受けません。
ASP JavaScriptアプリケーションオブジェクトとStaticObjectsでキャッシュを作成する経験のいくつかがここで紹介されています。これを読んだ後、あなたはたくさん利益を得ますか?