Вопрос

В настоящее время я переписываю некоторый код PHP 4 в Classic ASP (не спрашивайте) и пытаюсь выяснить, есть ли лучший способ загрузить большую карту в память, чем просто жесткое кодирование каждой пары.

Чтобы дать вам представление: в определении хеш-массива (или как там оно называется) в PHP существует около 300 уникальных пар «ключ-значение».
У меня возникает соблазн просто сделать это еще раз в ASP, например:

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

Если эта карта загружается в память при каждом вызове, есть ли какой-нибудь другой способ сделать это быстрее?Единственный раз, когда карта используется, — это выяснить, соответствует ли аргумент одному из ключей — если да, то значение извлекается и возвращается.

Спасибо за вашу помощь.

Это было полезно?

Решение

Перед тем, как продолжить работу с проектом, вам необходимо понять объекты Application и Session в ASP. Я полагал, что у вас есть причина оставить это вне глобального кэша (например, постоянно обновлять содержимое объекта в соответствии с предпочтениями пользователя)

Всего наилучшего

Другие советы

Если вы используете классический ASP, вам придется зависеть от одного из этих объектов. Использование таблицы базы данных или XML - другие варианты, которые вы можете изучить.

Я бы посоветовал вам не вызывать это снова и снова, если вы используете это для примерно 300 наименований.

Я только что узнал о глобальном кеше ASP, который позволит мне один раз построить карту, поместить ее в кеш, и любой будущий запрос может просто вытащить ее из кеша.Кэш хранится в памяти, поэтому производительность должна быть значительно увеличена.

<%
Application.Contents(object here)
%>

Ваше здоровье

Как говорит schar, сохраните объект словаря в объекте Application.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top