缓存(cache)是将相对高速的存储设备作为相对低速的存储设备与系统之间I/O的缓冲区,它能大幅提高系统的性能.
对于Web站点来说,缓存数据就是将用户每次访问你的站点时需要动态生成的信息预先生成并存储在内存中,以静态的形式送给用户. 举个例子吧:假设你的站点有一个更新不是很频繁的下拉式列表框,列表框中的选项当用户访问站点时从数据库中取出,我们可以将这些选项预先取出,存放在内存中以提高性能.
Application对象
Application 对象能保存整个应用的全局信息(session对象保存某个特定用户的信息). 每个站点都被认为是一个应用,你可以在global.asa中利用Application Object存储你的信息.
让我们来看看示例程序. 在这个例子里,我将Application对象作为一个变量用来存储下拉菜单的菜单项. 当每次需要从数据库中读取菜单项的时候,我们从变量中读取,避免了对数据库的频繁访问.
请看以下的代码:
<%= Application("ListBox")%>
<%
'把application 对象定义成一个变量
ListBox = Application("ListBox")
'检查存储变量的设置
If ListBox = "" Then
'如果存储变量未设置,就直从数据库中提取记录项
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DSN=travel;UID=;PWD="
sql = "SELECT * FROM types"
Set rs = oConn.Execute(sql)
crlf = chr(13) & chr(10)
'把数据库中的数据加入 'ListBox'
'variable using a loop
ListBox = "<select name='listbox'>" & crlf
Do Until rs.EOF
Listbox = ListBox & " <option>" & _
rs("type") & "</option>" & crlf
rs.MoveNext
Loop
'把生成的Listbox存储在Application对象中
Application("ListBox") = ListBox
End If
%>
从代码中我们可以看出,数据只有第一次被读取时访问数据库,然后将之存储在Application对象中,以后每次都从缓存中读取,这样将会加快站点的速度. 并不是每个站点都需要缓存来提高速度,但如果你的站点上运行着复杂的应用程序,且你想让系统获得最优的性能,那么你最好考虑一下缓存数据.