第壹章 使用服务器缓存
1.使用application和session保存数据的技巧。
可以再程序启动或会话开始时将期望的数据赋值给application和session对象。使用这种方法只需要在global.asa文件的application_Onstart和session_OnStart函数中添加响应的赋值函数或语句即可。
再适当的条件下可以缓存ADO记录本身,可是需要谨防:
1.ADO记录务必时自由线程标记的
2.务必时已经断开的记录集
3..在服务器硬盘上缓存数据
对于体积大,使用频率不是很高的数据,可以采用text和xml的形式将其缓存在硬盘上。对于单个页面而言,访问数据库的速度不一定不访问硬盘的速度缓慢多少,可是对于大量的页面而言,这样作就可以减少服务器对数据库的访问压力,同时对于数据库中的那些需要大量缓存的存储过程而言,更是一件优化的好措施。
Asp和com提供了几个基于磁盘缓冲的配置工具。Ado记录集的save()和open()函数就是负责保存和掉入磁盘上的记录集。另外一下一些组件也可以达到类似的功能:
1.Scripting.FileSystemObject:用许建立、读写文件
2.MSXML:Microsoft XML解析器,随Internet Explorer造成,支持和保存和装入XML文档
3.Lookup Table对象:从磁盘掉入简单列表的很不错选择。
4.避免在application和session对象中缓存非轻快型组件
5.不要在application或session对象中缓存数据库连接
6.合理使用session对象
第贰章 提高代码的执行效率
1.使用Option explicit
在asp文件中使用<%OPTION EXPLICTI%>可以提升asp代码的执行效率。打开此项有助于识别没有定义的变量,使用没有定义的变量就会发生错误提示。
2.避免重复定义数组
最好在一开始就作最坏的打算,对数组的长度进行充分的考虑,尽量避免使用redim
3.使用dictionary对象
vbscript中提供的dictionary对象可提供快速查找和对任意代关键字数据存储功能。通过dictionary对象可以根据关键字存取数组中的各项数据,这样就可以找到内存中不连续的内容。可是注意,如果关键字在内存中是连续的话,在数组中的查找、存储数据会更快。
4.避免在循环中使用字符串连接操作
首先是重复的连续字符串消耗二次方的时间;其次是运行的时间与计算的字段数量也是平方的关系。可以使用替换字符串连接为response.write或行内脚本<%=fl.value%>的要领来提高程序的性能。如果使用的是jscript,强烈建议使用“+=”操作,而不是s=s+str
第叁章 优化服务器的工作
1.多个response.write声明
假如是多个结果使用<%=…%>操作,可以商酌将数据使用response.write输出
2.在可能的情景下,使用server.transfer替代resonse.redirect
Server.transfer是在服务器进行页面转向的内容,并将具体的内容发送给客户浏览器,而response.redircet则使客户机自己向服务器进行请求下一个页面的内容,所以增加了网络和客户机的担子。
3.避免使用Server Variables
4.使用<object>标志建立对象
使用server.createobject建立对象时,将立即生成一个对象,但有一些时候对象并没有使用,这样造成浪费,而使用<object>服务器其实其实不真实的建立对象,只有当对象被使用时,对象才被建立。
5.可能的情景下尽量使用绝对路径
6.使用response.buffer
TCP/IP在发送大的数据包时要比发送大量的小数据包效率高
7.在发送大量内容前使用Response.IsClientConnected来确定客户机是否连接
8.调整web服务器
9.即便升级,使用最新的版本产品
第四章 利用浏览器工作
使用客户端对表格进行表单的验证检查