捌度空间 缓存类
            网络编程 发布日期:2025/10/31 浏览次数:1
         
        
            正在浏览:捌度空间 缓存类
            捌度空间 缓存类代码
复制代码 代码如下:
<% 
class Cache 
    private obj            'cache内容 
    private expireTime        '过期时间 
    private expireTimeName    '过期时间application名 
    private cacheName        'cache内容application名 
    private path            'url 
    private sub class_initialize() 
        path=request.servervariables("url") 
        path=left(path,instrRev(path,"/")) 
    end sub 
    private sub class_terminate() 
    end sub 
    public property get blEmpty 
        '是否为空 
        if isempty(obj) then 
            blEmpty=true 
        else 
            blEmpty=false 
        end if 
    end property 
    public property get valid 
        '是否可用(过期) 
        if isempty(obj) or not isDate(expireTime) then 
            valid=false 
        elseif CDate(expireTime)<now then 
                valid=false 
        else 
            valid=true 
        end if 
    end property 
    public property let name(str) 
        '设置cache名 
        cacheName=str & path 
        obj=application(cacheName) 
        expireTimeName=str & "expires" & path 
        expireTime=application(expireTimeName) 
    end property 
    public property let expires(tm) 
        '重设置过期时间 
        expireTime=tm 
        application.lock 
        application(expireTimeName)=expireTime 
        application.unlock 
    end property 
    public sub add(var,expire) 
        '赋值 
        if isempty(var) or not isDate(expire) then 
            exit sub 
        end if 
        obj=var 
        expireTime=expire 
        application.lock 
        application(cacheName)=obj 
        application(expireTimeName)=expireTime 
        application.unlock 
    end sub 
    public property get value 
        '取值 
        if isempty(obj) or not isDate(expireTime) then 
            value=null 
        elseif CDate(expireTime)<now then 
            value=null 
        else 
            value=obj 
        end if 
    end property 
    public sub makeEmpty() 
        '释放application 
        application.lock 
        application(cacheName)=empty 
        application(expireTimeName)=empty 
        application.unlock 
        obj=empty 
        expireTime=empty 
    end sub 
    public function equal(var2) 
        '比较 
        if typename(obj)<>typename(var2) then 
            equal=false 
        elseif typename(obj)="Object" then 
            if obj is var2 then 
                equal=true 
            else 
                equal=false 
            end if 
        elseif typename(obj)="Variant()" then 
            if join(obj,"^")=join(var2,"^") then 
                equal=true 
            else 
                equal=false 
            end if 
        else 
            if obj=var2 then 
                equal=true 
            else 
                equal=false 
            end if 
        end if 
    end function 
end class 
%>
使用方法:
复制代码 代码如下:
    set myCache=new cache 
    myCache.name="flash1" 
    If myCache.valid then 
        StartGet = myCache.value 
    Else 
        StartGet = GetHttpPage(HttpUrl)     
        myCache.add StartGet,dateadd("h",3,Now) 
    End if 
    List=GetBody(StartGet,"</form>","<!-- ********网页中部代码结束******** -->",False,False)