Pergunta

Atualmente estou reescrevendo algum código PHP 4 para o ASP clássico (não pergunte) e tentando descobrir se há uma maneira melhor para carregar um mapa grande para a memória do que apenas a codificação dura cada par em.

Para se ter uma idéia, há cerca de 300 pares de valores chave exclusiva na definição de matriz hash (ou o que é chamado) no PHP.
Estou tentado a fazer isso de novo no ASP como:

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

Com este mapa ficando carregado na memória para cada chamada, existe alguma outra maneira de fazer isso que seria mais rápido? A única vez que o mapa é usado é para descobrir se um argumento corresponde até uma das chaves -. Se assim o valor é puxado para fora e voltou

Obrigado por sua ajuda.

Foi útil?

Solução

Bem, você precisa entender a Aplicação e Sessão objetos em ASP antes de continuar com o projeto. Eu estava sob o pressuposto de que você tem uma razão para manter isso fora do cache global (como constantemente ter que atualizar o conteúdo do objeto com base na preferência do usuário)

Todo o melhor

Outras dicas

Se você estiver usando ASP clássico, então você vai ter que depender de um desses objetos. Usando uma tabela de banco de dados ou XML são outras opções que você pode explorar.

Eu sugiro que você certifique-se de não chamar isso de novo e de novo se você estiver usando isso por cerca de 300 itens.

Eu só descobri sobre um cache ASP global que me permitiria construir o mapa uma vez, colocá-lo no cache e qualquer pedido futuro pode simplesmente retirá-lo do cache. O cache é mantido na memória por isso o desempenho deve ser aumentado dramaticamente.

<%
Application.Contents(object here)
%>

Felicidades

Como schar diz, armazenar o objeto de dicionário no objeto Application.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top