靈活使用緩存提高asp程序的性能
發(fā)表時(shí)間:2024-05-26 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]onlytiancai [原作] <!--為了提高Asp程序的性能,人們常常將經(jīng)常使用的數(shù)據(jù)緩存在 Application,但是你修改了數(shù)據(jù)庫(kù)后怎么讓application更新呢,本文給你提供了一個(gè)合理的解決辦法,如果誰(shuí)有更好的算法,請(qǐng)跟帖討論一下,謝謝--><%Class wa...
onlytiancai [原作]
<!--為了提高Asp程序的性能,人們常常將經(jīng)常使用的數(shù)據(jù)緩存在 Application,
但是你修改了數(shù)據(jù)庫(kù)后怎么讓application更新呢,本文給你提供了一個(gè)合理的解決辦法,
如果誰(shuí)有更好的算法,請(qǐng)跟帖討論一下,謝謝
-->
<%
Class wawa_app_getrows
public Function wawa_Get_List(strapp,strconn,strsql)
'********************************
'功能:從Application中提取數(shù)組,如果application中的數(shù)據(jù)為empty值的時(shí)候再調(diào)用wawa_Get_Rows()函數(shù)來(lái)給application賦值.
' ,你可以在修改數(shù)據(jù)庫(kù)的時(shí)候把相應(yīng)的application值清空成empty,這就瀏覽的時(shí)候就會(huì)自動(dòng)更新application了
' 如果你更新了數(shù)據(jù)庫(kù)(比如說(shuō)添加,修改或者刪除了數(shù)據(jù))那么在修改數(shù)據(jù)庫(kù)后把相應(yīng)的application變量去掉,
' 用下面的一條語(yǔ)句來(lái)實(shí)現(xiàn)清空指定的application值,其中strapp參數(shù)是要去掉的application變量名
' application.Contents.Remove(strapp)
' www.knowsky.com
'********************************
Dim wawa
wawa = Application(strapp)
If isempty(wawa) Then
wawa = wawa_Get_Rows(strconn,strsql)
Application(strapp) = wawa
End If
wawa_Get_List = wawa
End Function
public Function wawa_Get_Rows(strconn,strsql)
'********************************
'功能:從數(shù)據(jù)庫(kù)里讀取記錄并用getrows方法
' 把記錄保存成一個(gè)數(shù)組
'
'********************************
Dim rs_wawa
Set rs_wawa = CreateObject("ADODB.Recordset")
rs_wawa.Open strsql,strconn,,1,1
wawa_Get_Rows = rs_wawa.GetRows()
rs_wawa.Close
Set rs_wawa = Nothing
End Function
End Class
%>
<!-- 下面舉個(gè)例子來(lái)說(shuō)明上面的那個(gè)類(lèi)怎么使用 -->
<%
dim strapp,strsql,strconn
strapp="xinwendongtai"
strsql="select top 5 id,title from wen where lei=161 order by id desc"
strconn="Driver={sql server};server=192.168.0.110;database=new;uid=sa;pwd=sa;"
set wawa_temp=new wawa_app_getrows
arr_xinwendongtai=wawa_temp.wawa_Get_LIst(strapp,strconn,strsql)
%>
<table width="100%" border="0" cellspacing="1">
<% If ubound(arr_xinwendongtai)<>0 Then %>
<% for i=0 to ubound(arr_xinwendongtai,2)-1 %>
<tr>
<td><a href="view.asp?id=<%= arr_xinwendongtai(0,i) %>"><%= arr_xinwendongtai(1,i) %></a></td>
</tr>
<% next %>
<% Else %>
<tr>
<td>還沒(méi)有新聞呢</td>
</tr>
<% End If %>
</table>