国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ASP緩存技術(shù)

2019-11-17 04:14:36
字體:
供稿:網(wǎng)友

     使用asp中的緩存技術(shù)可以很大程度上提高你的網(wǎng)站性能,其實這些實現(xiàn)方法是非常的簡單,它將說明如何在服務(wù)器上的緩存是如何工作以及你如何使用一種被稱為斷開連接的ADO連接技術(shù)。
   在介紹這些技術(shù)之前先說明一下到底什么是ASP的緩存技術(shù)。
   所謂緩存其實就是在內(nèi)存中開辟一個用來保存數(shù)據(jù)的空間,使用緩存你就不用頻繁的訪問你保存在硬盤上的數(shù)據(jù)了,靈活的使用緩存你就免去了心疼的看著可憐的硬盤飽受讀數(shù)據(jù)時的折磨了。當(dāng)你一旦執(zhí)行了一個查詢動作,并且將查詢結(jié)果放入緩存中后,你就可以很迅速的重復(fù)訪問這些數(shù)據(jù)了。而如果你不把數(shù)據(jù)放入緩存的話,當(dāng)你再次執(zhí)行這個查詢時,服務(wù)器會將進程耗費在從數(shù)據(jù)庫中獲取并排序上了。
   當(dāng)數(shù)據(jù)保存在緩存中時,再次查詢時耗費的時間主要是在顯示數(shù)據(jù)的時間上了。也就是說,我們不應(yīng)該把經(jīng)常需要改變的數(shù)據(jù)放到服務(wù)端的緩存中,我們應(yīng)該把改變少,但是又需要經(jīng)常訪問的數(shù)據(jù)放到緩存中。

  現(xiàn)在我們先討論ASP在服務(wù)端使用緩存的技術(shù),過會再討論ASP如何在客戶端使用
緩存的技術(shù)。
   當(dāng)你有大量的數(shù)據(jù)(靜態(tài)的,就是說變動比較少的)需要顯示給客戶端時,你就可以考慮使用服務(wù)端的緩存技術(shù)了。這種技術(shù)尤其適用于那些顯示風(fēng)格一致性比較強的網(wǎng)站(呵呵,對于非主流的網(wǎng)站可不好用的說。)
   其實實現(xiàn)方法特別的簡單,大家只要看看下面這個簡單的例子就明白了。
   這是一個用來顯示書籍分類的例子程序
DisplayBooks.ASP文件:

< %@ LANGUAGE=javaScript % >
< html >
< body >
< form method=post >
書籍分類; < %= getBooksListBox() % >
< p>
< input type=submit >

 

< %
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 + "" + crlf;
rstBooks.MoveNext();
}
BooksListBox = BooksListBox + ""
Application("BooksListBox") = BooksListBox
return BooksListBox;
}
% >
   很簡單把,其實就是用了很簡單的Application技術(shù),而且就一句話的不同:
   Application("BooksListBox") = BooksListBox
   你可以驗證一下你就會發(fā)現(xiàn)服務(wù)器上的請求數(shù)量會降低不少的。這種情況尤其適合與那些更新不是很頻繁的網(wǎng)站內(nèi)容,例如你一天(或則很長時間)只更新一次。

  下面再討論一種客戶端的緩存技術(shù)這種技術(shù)也叫斷開連接的ADO連接技術(shù)(翻譯水平太次,聽上去怎么這么別扭)。這種技術(shù)主要使用在用來保存用戶個人信息,例如用戶的密碼,代號等等上面。它主要使用了ADO的一些屬性。同時也回答了一些網(wǎng)友曾經(jīng)提到過的能否在Applocation中使用ADO對象的問題。解釋不清楚,下面讓代碼來發(fā)言:
文件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")
'注意下面這兩句話,就是用來實現(xiàn)那個叫可用的斷開連接的ADO技術(shù)
rsCustomers.CursorLocation = adUseClient
rsCustomers.Open SQL, cnnAdvWorks, adOpenStatic, AdLockReadOnly
' 斷開RecordSet的和數(shù)據(jù)庫的連接
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
% >


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎兰屯市| 邵武市| 普定县| 偃师市| 延庆县| 康乐县| 台山市| 察雅县| 东丽区| 大兴区| 开平市| 遵义县| 渑池县| 资阳市| 马鞍山市| 桐梓县| 宜春市| 南安市| 大姚县| 犍为县| 永安市| 商南县| 界首市| 宁陕县| 尚义县| 绍兴市| 墨竹工卡县| 名山县| 南丹县| 清丰县| 穆棱市| 太湖县| 江都市| 西峡县| 孟连| 遵化市| 绍兴县| 惠州市| 张家界市| 会理县| 尉犁县|