当前位置: 网学 > 编程文档 > ASP > 正文

微软建议的ASP性能优化28条守则(1)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
)

End Function

'' Periodically update the cached data

Sub UpdateEmploymentStatusList

Dim d, strLastUpdate

strLastUpdate = Application(?LastUpdate?)

If (strLastUpdate = ??) Or _

(UPDATE_INTERVAL < DateDiff(?s?, strLastUpdate, Now)) Then

'' Note: two or more calls might get in here. This is okay and will simply

'' result in a few unnecessary fetches (there is a workaround for this)

'' FetchEmploymentStatusList function (not shown)

'' fetches data from DB, returns an Array

d = FetchEmploymentStatusList()

'' Update the Application object. Use Application.Lock()

'' to ensure consistent data

Application.Lock

Application(?EmploymentStatusList?) = Events

Application(?LastUpdate?) = CStr(Now)

Application.Unlock

End If

End Sub

请参见 World''s Fastest ListBox with Application Data,上面还有一个例子。

要知道在 Session 或 Application 对象中缓存大的数组不是一个好的做法。在访问数组的任何元素之前,脚本语言的语法要求必须临时复制整个数组。例如,如果将由字符串组成的有 100,000 个元素的数组(该数组将美国邮政编码映射到当地的气象站)缓存在 Application 对象中,ASP 必须先将所有的 100,000 个气象站复制到临时数组中,然后才能提取一个字符串。在这种情况下,用自定义方法建立一个自定义组件来存储气象站 - 或使用一个词典组件会更好。

再警告大家一下,不要将婴儿与洗澡水一起倒掉:数组能快速查寻和存储在内存中是邻近的关键数据对。索引一个词典比索引一个数组要慢得多。应针对您的实际情况,选择提供最佳性能的数据结构。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号