我目前正在将一些PHP 4代码重写为Classic ASP(不要问)并尝试解决是否有更好的方法将大型Map加载到内存中,而不仅仅是硬编码每一对。
为了给你一个想法,PHP中的散列数组定义(或其所谓的)中有大约300个唯一键值对。
我很想在ASP中再次这样做:
<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>
将此地图加载到每个调用的内存中,还有其他方法可以更快地执行此操作吗?使用地图的唯一时间是查明参数是否与其中一个键匹配 - 如果是,则拉出并返回该值。
感谢您的帮助。
答案 0 :(得分:0)
如果您使用的是经典ASP,则必须依赖其中一个对象。使用数据库表或XML是您可以探索的其他选项。
如果您使用此项目约300件,我建议您确保不要再次拨打此电话。
答案 1 :(得分:0)
我刚刚发现了一个全局ASP缓存,它允许我构建一次映射,将其放入缓存中,任何将来的请求都可以简单地将其从缓存中拉出来。缓存保存在内存中,因此性能应该大幅提升。
<%
Application.Contents(object here)
%>
干杯
答案 2 :(得分:0)
在继续项目之前,您需要了解ASP中的Application和Session对象。我假设您有理由将其保留在全局缓存之外(例如不断根据用户首选项更新对象的内容)
一切顺利
答案 3 :(得分:0)
像schar所说,将字典对象存储在Application对象中。