ASP實現緩存類無錯版
2024-05-04 10:57:55
供稿:網友
 
<%  
'**********************************************  
'vbs Cache類 
' 屬性valid,是否可用,取值前判斷  
' 屬性name,cache名,新建對象后賦值  
' 方法add(值,到期時間),設置cache內容  
' 屬性value,返回cache內容  
' 屬性blempty,是否未設置值  
' 方法makeEmpty,釋放內存,測試用  
' 方法equal(變量1),判斷cache值是否和變量1相同  
' 方法expires(time),修改過期時間為time  
' 木鳥寫的緩存類 
'**********************************************  
class Cache  
private obj 'cache內容  
private expireTime '過期時間  
private expireTimeName '過期時間application名  
private cacheName 'cache內容application名  
private path 'uri  
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