Question

Je suis en train de réécrire du code PHP 4 dans Classic ASP (ne demandez pas) et j'essaie de déterminer s'il existe un meilleur moyen de charger une grande carte en mémoire que de simplement coder en dur chaque paire.

Pour vous donner une idée, il existe environ 300 paires clé-valeur uniques dans la définition de tableau haché (ou peu importe comment elle s'appelle) en PHP.
Je suis tenté de le refaire dans ASP, par exemple:

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

Cette carte étant chargée en mémoire pour chaque appel, existe-t-il un autre moyen de le faire qui serait plus rapide? Le seul moment où la carte est utilisée est de rechercher si un argument correspond à l'une des clés, le cas échéant, la valeur est extraite et renvoyée.

Merci de votre aide.

Était-ce utile?

La solution

Vous devez bien comprendre les objets Application et Session dans ASP avant de poursuivre le projet. Je pensais que vous aviez une raison de garder cela en dehors du cache global (par exemple, devoir constamment mettre à jour le contenu de l'objet en fonction des préférences de l'utilisateur)

Tout le meilleur

Autres conseils

Si vous utilisez un ASP classique, vous devrez alors vous fier à l'un de ces objets. Utiliser une table de base de données ou XML est une autre option que vous pouvez explorer.

Je vous conseillerais de ne pas rappeler cela encore et encore si vous l'utilisez pour environ 300 éléments.

Je viens de découvrir un cache ASP global qui me permettrait de construire la carte une seule fois, de la placer dans le cache et toute demande ultérieure peut simplement l'extraire du cache. Le cache est conservé en mémoire, donc les performances doivent être considérablement améliorées.

<%
Application.Contents(object here)
%>

A bientôt

Comme le dit schar, stockez l'objet dictionnaire dans l'objet Application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top