浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

以前搜集的一些资料---服务端与客户端的ASP缓存技术

谈谈ASP中的缓存技术
使用ASP中的缓存技术可以很大程度上提高你的网站性能,
其实这些实现方法是非常的简单,它将说明如何在服务器上的缓存是如何工作
以及你如何使用一种被称为断开连接的ADO连接技术。
在介绍这些技术之前先说明一下到底什么是ASP的缓存技术。
所谓缓存其实就是在内存中开辟一个用来保存数据的空间,使用缓存你就不用
频繁的访问你保存在硬盘上的数据了,灵活的使用缓存你就免去了心疼的看着
可怜的硬盘饱受读数据时的折磨了。当你一旦执行了一个查询动作,并且将查询
结果放入缓存中后,你就可以很迅速的重复访问这些数据了。而如果你不把数据
放入缓存的话,当你再次执行这个查询时,服务器会将进程耗费在从数据库中
获取并排序上了。
当数据保存在缓存中时,再次查询时耗费的时间主要是在内容中搜索应该
显示数据的时间了。这也就是说,我们不应该把经常需要改变的数据放到服务端
的缓存中,我们应该把改变少,但是又需要经常访问的数据放到缓存中。

现在我们先讨论ASP在服务端使用缓存的技术,过会再讨论ASP如何在客户端使用
缓存的技术。
当你有大量的数据(静态的,就是说变动比较少的)需要显示给客户端时,你就可以考虑使用
服务端的缓存技术了。这种技术尤其适用于那些显示风格一致性比较强的网站(呵呵,对于
非主流的网站可不好用的说。)
其实实现方法特别的简单,大家只要看看下面这个简单的例子就明白了。
这是一个用来显示书籍分类的例子程序
DisplayBooks.ASP文件:

<%@ LANGUAGE=JavaScript %>
<html>
<body>
<form method=post>
书籍分类; <%= getBooksListBox() %>
<p>
<input type=submit>
</form>
</body>
</html>
<%
function getBooksListBox()
{
BooksListBox = Application("BooksListBox")
if (BooksListBox != null) return BooksListBox;
crlf = String.fromCharCode(13, 10)
BooksListBox = "<select name=Books>" + crlf;
SQL = "SELECT * FROM Books ORDER BY Name";
cnnBooks = Server.CreateObject("ADODB.Connection");
cnnBooks.Open("Books", "Admin","");
rstBooks = cnnBooks.Execute(SQL);
fldBookName = rstBooks("BookName");
while (!rstBooks.EOF){
BooksListBox = BooksListBox + "<option>" +
fldBookName + "</option>" + crlf;
rstBooks.MoveNext();
}
BooksListBox = BooksListBox + "</select>"
Application("BooksListBox") = BooksListBox
return BooksListBox;
}
%>
很简单把,其实就是用了很简单的Application技术
而且就一句话的不同:
Application("BooksListBox") = BooksListBox
你可以验证一下你就会发现服务器上的请求数量会降低不少的。这种情况
尤其适合与那些更新不是很频繁的网站内容,例如你一天(或则很长时间)
只更新一次。
下面再讨论一种客户端的缓存技术
这种技术也叫断开连接的ADO连接技术(翻译水平太次,听上去怎么这么别扭)

这种技术主要使用在用来保存用户个人信息,例如用户的密码,代号等等上面。
它主要使用了ADO的一些属性。同时也回答了一些网友曾经提到过的能否在
Applocation中使用ADO对象的问题。解释不清楚,下面让代码来发言:
文件GLOBAL.ASA:
<!--METADATA TYPE="TypeLib"
 FILE="C:\Program Files\Common Files\system\ado\msado15.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
</SCRIPT>

文件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
%>


相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...