国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP實現緩存類無錯版

2020-07-27 13:06:28
字體:
來源:轉載
供稿:網友
<% 
'********************************************** 
'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 
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 

dim content,myCache
Set myCache = new Cache
myCache.name="sofoisndoffo" '定義緩存名稱 
if myCache.valid then '如果緩存有效
 content=myCache.value '讀取緩存內容
else
 content="sosuo8.com測試" '大量內容,可以是非常耗時大量數據庫查詢記錄集
 myCache.add content,dateadd("n",1000,now) '將內容賦值給緩存,并設置緩存有效期是當前時間+1000分鐘
end if
Response.Write(content)
'myCache.makeEmpty()  
set clsCache=nothing '釋放對象
%>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永年县| 镇安县| 平安县| 湟源县| 临海市| 新疆| 石泉县| 香格里拉县| 正定县| 锦屏县| 晴隆县| 祁门县| 义乌市| 伊金霍洛旗| 湖南省| 固镇县| 苏尼特右旗| 资中县| 合川市| 万载县| 彭水| 赤壁市| 衢州市| 岗巴县| 泰宁县| 石狮市| 桐乡市| 察雅县| 出国| 西青区| 崇仁县| 梓潼县| 凭祥市| 凤山县| 县级市| 高邑县| 泰兴市| 龙里县| 喀喇| 平果县| 兴仁县|