巧用缓存提高ASP应用程序的性能

 

  为了提高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)

 '********************************

 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="employee"

 strsql="SELECT EmployeeID,TitleOfCourtesy,FirstName,LastName,Title,City FROM Employees"

 strconn="Driver={sql server};server=192.168.0.110;database=northwind;uid=sa;pwd=sa;"

 set wawa_temp=new wawa_app_getrows

 arr_wawa=wawa_temp.wawa_Get_LIst(strapp,strconn,strsql)

%>

 

<%

 Response.Write("<table width='100%' border='0' cellspacing='1'>")

 Dim i,j,Rows,Flds

 Rows=Ubound(arr_wawa,2)

 Flds=Ubound(arr_wawa,1)

 If Rows>=0 Then

  For i=0 To Rows

   Response.Write("<tr>")

   For j=0 to Flds

    Response.Write"<td>"&arr_wawa(j,i)&"</td>"

   Next

   Response.Write("</tr>")

  Next

 Else

  Response.Write("<tr><td>"&Rows&"</td></tr>")

 End If

 Response.Write("</table>")

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值