Domanda

Attualmente sto riscrivendo un po 'di codice PHP 4 in ASP classico (non chiedere) e sto cercando di capire se esiste un modo migliore per caricare in memoria una mappa di grandi dimensioni rispetto alla semplice codifica di ogni coppia.

Per darti un'idea, ci sono circa 300 coppie di valori chiave univoci nella definizione di array con hash (o come si chiama) in PHP.
Sono tentato di farlo di nuovo in ASP come:

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

Con questa mappa caricata in memoria per ogni chiamata, c'è un altro modo di farlo che sarebbe più veloce? L'unica volta che viene utilizzata la mappa è scoprire se un argomento corrisponde a una delle chiavi, in tal caso il valore viene estratto e restituito.

Grazie per il tuo aiuto.

È stato utile?

Soluzione

Bene, è necessario comprendere l'applicazione e gli oggetti Session in ASP prima di continuare con il progetto. Supponevo che avessi un motivo per tenerlo al di fuori della cache globale (come dover costantemente aggiornare il contenuto dell'oggetto in base alle preferenze dell'utente)

Tutto il meglio

Altri suggerimenti

Se si utilizza ASP classico, sarà necessario dipendere da uno di questi oggetti. L'uso di una tabella di database o XML sono altre opzioni che puoi esplorare.

Ti suggerisco di assicurarti di non chiamare più e più volte se lo usi per circa 300 articoli.

Ho appena scoperto una cache ASP globale che mi consentirebbe di creare la mappa una volta, inserirla nella cache e qualsiasi richiesta futura può semplicemente estrarla dalla cache. La cache è mantenuta in memoria, pertanto le prestazioni dovrebbero essere notevolmente aumentate.

<%
Application.Contents(object here)
%>

Saluti

Come dice schar, archivia l'oggetto dizionario nell'oggetto Applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top