0

我目前正在将一些 PHP 4 代码重写为 Classic ASP(不要问),并尝试确定是否有更好的方法将大型 Map 加载到内存中,而不仅仅是硬编码每一对。

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

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

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

谢谢你的帮助。

4

4 回答 4

0

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

如果您将其用于大约 300 个项目,我建议您确保不要一次又一次地调用它。

于 2009-03-18T15:41:22.657 回答
0

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

<%
Application.Contents(object here)
%>

干杯

于 2009-03-18T17:26:57.443 回答
0

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

祝一切顺利

于 2009-03-18T20:59:18.477 回答
0

就像 schar 所说,将字典对象存储在 Application 对象中。

于 2009-03-30T22:59:03.013 回答