La collection intégrée d'objets d'application a des types de contenus simples, qui peuvent être utilisés par les applications par défaut ("clé"). Vous trouverez ci-dessous quelques expériences dans la fabrication du cache par contenu et staticobjects d'objets d'application JavaScript ASP. Apprenez-en plus à ce sujet ci-dessous!
Lorsque vous utilisez Application.Connts, vous ne pouvez utiliser des laids que tels que:
pour (var i = 0; i <15000; i ++) {
Application.lock ();
// application.contents (i) = "sdfdsffdsaf";
Application (i) = "sdfdsffdsaf";
Application.unlock ();}
Ici, je stockage des chaînes de 1,5 W dans Application. Contents, qui ont pris un total de 234 ms.
Après avoir utilisé Application.StaticObjects à la place:
Définissez un dictionnaire comme un statibject pour stocker les données, car StaticObject ne permet pas l'accès direct.
<objet id = "dict" runat = "server" scope = "application" programme = "scripting.dictionary"> </ object>
Scripting.Dictionary lui-même est très rapide et n'aura pas beaucoup d'impact sur la comparaison de la vitesse de collecte des StaticObjects.
Vitesse du dictionnaire:
var d = new activeXObject ("scripting.dictionary");
pour (var i = 0; i <15000; i ++) {
d.item (i) = "sdfdsffdsaf";}
1,5 W interpolation, 172 ms
Bien sûr, l'objet personnalisé var d = nouveau objet (); D [i] = .. est plus rapide, 1,5 W fois ne coûte que 80 à 90 ms, mais la fonction est beaucoup plus faible, vous utilisez donc toujours un dictionnaire.
Voir le test officiel ci-dessous
pour (var i = 0; i <15000; i ++) {
Application.lock ();
Application.staticObjects ("dict"). Item (i) = "sdfdsffdsaf";
Application.unlock ();}
Le temps est aussi long que 6953 ms. Il est initialement jugé que la vitesse d'accès de la collection StaticObjects ne peut pas répondre aux exigences du cache. Cette vitesse est presque la même que le moment où ADO OLEDB lit SQL Server 2000.
Cependant, je ne prévois pas d'abandonner immédiatement, car l'avantage de StaticObjects est qu'il peut stocker des objets, et le dictionnaire peut également stocker d'autres objets, qui peuvent être utilisés comme objets de cache, pas seulement des données.
Je mets un objet dans application.staticObjects ("dict"):
Application.staticObjects ("dict"). Item ("o") = new object ();
pour (var i = 0; i <15000; i ++) {
Application.lock ();
Application.staticObjects ("dict"). Item ("o") [i] = "sdfdsffdsaf";
Application.unlock ();}
6656 ms, un peu plus vite. Une autre couche d'objet ne ralentit pas la vitesse. La vitesse lente n'est pas due à la structure complexe, mais à cause de l'occupation d'accès des staticobjects.
Référence du pré-magasin
var t = application.staticObjects ("dict");
pour (var i = 0; i <15000; i ++) {
Application.lock ();
t.item ("o") [i] = "sdfdsffdsaf";
Application.unlock ();}
3094 ms, ont réussi à réduire le temps de plus de la moitié. Que se passe-t-il si la stratégie de pré-sauvetage en JS est également la pré -nuation de T.Item ("O")?
var t = application.staticObjects ("dict"). item ("o");
pour (var i = 0; i <15000; i ++) {
Application.lock ();
t [i] = "sdfdsffdsaf";
Application.unlock ();}
125 ms, finalement réussi, seulement la moitié de l'application. Contents. Il semble que le temps soit principalement passé à obtenir des «références», plutôt que la zone de mémoire de Staticobjects se protégeant lentement. StaticObjects a de meilleures mesures de sécurité que le contenu car les objets doivent être stockés.
S'appuyant sur les fonctions puissantes du dictionnaire, le résumer de manière appropriée et l'accès à l'aide de méthodes populaires telles que put (), get (), contient (), etc., c'est un cache puissant.
////Remarque
J'ai encapsulé un composant .SCT; Écrit par ASP JavaScript, envoyé si vous avez le temps, donc je serai ici aujourd'hui.
La vitesse référencée par les contenses et les staticobjects a été testée. C'était 0 ms en 20 fois, 100 fois la vitesse était environ 5 fois et 500-1500 fois, c'est 10 fois la différence de vitesse. Cependant, l'accès après l'acquisition ne sera pas affecté.
Certaines des expériences de fabrication de cache dans les objets d'application JavaScript ASP et les objets staticales vous sont présentés ici. Après avoir lu ceci, allez-vous en bénéficier beaucoup?