程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 巧用緩存提高ASP應用程序的性能

巧用緩存提高ASP應用程序的性能

編輯:關於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>")
    %>
     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved