首页 > 编程 > ASP > 正文

巧用缓存提高asp程序的性能

2024-05-04 11:07:59
字体:
来源:转载
供稿:网友
<!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application, 
但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法,如果谁有更好的算法,请跟帖讨论一下,谢谢 
--> 
<% 
Class wawa_app_getrows 
public Function wawa_Get_List(strapp,strconn,strsql) 
'******************************** 
'功能:从Application中提取数组,如果application中的数据为empty值的时候再调用wawa_Get_Rows()函数来给application赋值. 
' ,你可以在修改数据库的时候把相应的application值清空成empty,这就浏览的时候就会自动更新application了 
' 如果你更新了数据库(比如说添加,修改或者删除了数据)那么在修改数据库后把相应的application变量去掉, 
' 用下面的一条语句来实现清空指定的application值,其中strapp参数是要去掉的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) 
'******************************** 
'功能:从数据库里读取记录并用getrows方法 
' 把记录保存成一个数组 

'******************************** 
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 
%> 
<!-- 下面举个例子来说明上面的那个类怎么使用 --> 
<% 
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>还没有新闻呢</td> 
</tr> 
<% End If %> 
</table> 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表