ASP缓存技术详解

2019-01-13 01:00:21王冬梅

很简单把,其实就是用了很简单的Application技术,而且就一句话的不同:


 Application("BooksListBox") = BooksListBox

你可以验证一下你就会发现服务器上的请求数量会降低不少的。这种情况尤其适合与那些更新不是很频繁的网站内容,例如你一天(或则很长时间)只更新一次。

  下面再讨论一种客户端的缓存技术这种技术也叫断开连接的ADO连接技术(翻译水平太次,听上去怎么这么别扭)。这种技术主要使用在用来保存用户个人信息,例如用户的密码,代号等等上面。它主要使用了ADO的一些属性。同时也回答了一些网友曾经提到过的能否在Application中使用ADO对象的问题。解释不清楚,下面让代码来发言:
文件GLOBAL.ASA:


<!--METADATA TYPE="TypeLib" FILE="C:Program FilesCommon  
Filessystemadomsado15.dll"-- >   
< SCRIPT LANGUAGE=VBScript RUNAT="Server" >   
Sub Application_OnStart   
SQL = "Select UserName, Password FROM UserInfo"   
cnnUsers = "DSN=User"   
Set rsUsers = Server.CreateObject("ADODB.Recordset")   
'注意下面这两句话,就是用来实现那个叫可用的断开连接的ADO技术   
rsCustomers.CursorLocation = adUseClient   
rsCustomers.Open SQL, cnnAdvWorks, adOpenStatic, AdLockReadOnly   
' 断开RecordSet的和数据库的连接   
rsCustomers.ActiveConnection = Nothing   
Set Application("rsCustomers") = rsCustomers   
End Sub

文件Users.ASP


< %   
'Clone方法使得每个用户拥有自己的一个RecordSet集合   
Set yourUsers = Application("rsUsers").Clone   
Set UserName = yourUsers("UserName")   
Set Password = yourUsers("Password")   
Do Until yourUsers.EOF   
% >   
 
用户姓名:< %= UserName % > 用户密码:< %= Password % >
 
< %   
yourUsers.MoveNext   
Loop   
% >

于缓存的作用,我想我也不用再多说了,它的作用已经很明显,特别是对于信息量非常大或是全数据库页面的网站,他能很好地利用主机的内存资源,加速ASP的执行效率,减轻服务器的负担,而动网在这一方面做得是最突出的,像他现在的dvbbs7.1.0版,更是在缓存的利用上更上一层楼,前后台大多的操作都和缓存有关,而现在动网里用的也就是迷城浪子的缓存类: