Asp classic 在经典ASP中创建地图的最佳方法

Asp classic 在经典ASP中创建地图的最佳方法,asp-classic,maps,Asp Classic,Maps,我目前正在将一些PHP4代码重写为经典ASP(不问),并试图找出是否有更好的方法将大型映射加载到内存中,而不仅仅是硬编码每对映射 为了让您了解一下,PHP中的散列数组定义(或其名称)中大约有300个唯一的键值对。 我很想在ASP中再次这样做,比如: <% dim map set map = CreateObject("Scripting.Dictionary") map.add('key','value') map.add('key2','value2') ... %> 每次调

我目前正在将一些PHP4代码重写为经典ASP(不问),并试图找出是否有更好的方法将大型映射加载到内存中,而不仅仅是硬编码每对映射

为了让您了解一下,PHP中的散列数组定义(或其名称)中大约有300个唯一的键值对。
我很想在ASP中再次这样做,比如:

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

每次调用都会将此映射加载到内存中,有没有其他更快的方法?使用映射的唯一时间是找出一个参数是否与其中一个键匹配——如果匹配,则取出并返回值


感谢您的帮助。

如果您使用的是经典ASP,那么您将不得不依赖其中一个对象。使用数据库表或XML是您可以探索的其他选项


我建议您,如果您正在使用此功能处理大约300个项目,请确保不要反复调用此功能。

我刚刚发现了一个全局ASP缓存,它允许我构建一次地图,将其放入缓存,以后的任何请求都可以将其从缓存中拉出。缓存保存在内存中,因此性能应该显著提高

<%
Application.Contents(object here)
%>


干杯

在继续项目之前,您需要了解ASP中的应用程序和会话对象。我假设您有理由将其保留在全局缓存之外(比如必须根据用户偏好不断更新对象的内容)


所有最好的

如schar所说,将dictionary对象存储在Application对象中。

不幸的是,该代码每天将被调用大约500000次,因此需要高效(使用如此大的哈希映射非常困难)。