ASP中CACHE技术

发布时间:2013-09-19 11:33:46来源:阅读(1504)

      
    我认为在ASP中最好的办法是用编程实现定时刷新Cache,也就是说给Application中储存的设一个过期时间。当然,在ASP中Application对象没有这样一个ExpireTime属性。这需要用程序实现。
     
    Code 
    ASP:default.asp 

    <%@Language=VBScript%>
    <%Option  Explicit%>
    <%Response.Buffer=True%>



        
            ASP Cache演示
            
        
        
        

    每隔10秒刷新Cache:


        <%
        response.Flush
        GetHTMLStream
        response.Write
        HTMLStream
        %>
        
     

    ASP:getcache.asp 

    <% 
    Const CACHE_DEFAULT_INTERVAL = 30 ’每隔30秒刷新一次cache 
    Dim HTMLStream 
    Dim IsExpires 
    IsExpires = CacheExpires 
    Function CacheExpires 
        Dim strLastUpdate 
        Dim result strLastUpdate = Application("LastUpdate") 
        If (strLastUpdate = "") Or (CACHE_DEFAULT_INTERVAL < DateDiff("s", strLastUpdate, Now)) Then 
            result = true 
            SetLastUpdateTime 
        Else 
            result = false 
        End If 
        CacheExpires = result 
    End Function 

    Sub SetLastUpdateTime 
        Application.Lock 
        Application("LastUpdate") = CStr(now()) 
        Application.UnLock 
    End Sub 

    Sub GetHTMLStream 
        If IsExpires Then 
            UpdateHTMLStream 
        End If 
        HTMLStream=Application("CACHE_HTMLStream") 
    End Sub 

    Sub UpdateHTMLStream 
        dim d 
        d = FetchHTMLStream 
        Application.Lock 
        Application("CACHE_HTMLStream") = d 
        Application.UnLock 
    End Sub 

    Function FetchHTMLStream  
        Dim rs ,strSQL, strHTML 
        Set rs = CreateObject("ADODB.Recordset") 
        strSQL = "select categoryID , categoryname from categories" 
        rs.Open strSQL, strConn,adOpenForwardOnly,adLockReadOnly 
        strHTML = strHTML & "
        while (not rs.EOF) 
            strHTML = strHTML & "" rs.MoveNext 
        wend 
        strHTML = strHTML & "" 
        rs.Close 
        Set rs = Nothing 
        FetchHTMLStream = strHTML 
    End Function 
    %> 

    ASP:conn.asp 

     
    <% 
        dim strConn 
        strConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind" 
    %> 

关键字