中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      asp緩存類代碼

      時間:2024-09-28 13:13:13 ASP 我要投稿
      • 相關推薦

      asp緩存類代碼

        至于緩存的作用,我想我也不用再多說了,它的作用已經很明顯,特別是對于信息量非常大或是全數據庫頁面的網站,他能很好地利用主機的內存資源,加速ASP的執行效率,減輕服務器的負擔,而動網在這一方面做得是最突出的,像他現在的dvbbs7.1.0版,更是在緩存的利用上更上一層樓,前后臺大多的操作都和緩存有關,而現在動網里用的也就是迷城浪子的緩存類,下面列出動網的三大高手寫的ASP緩存類

        木鳥寫的

        復制代碼 代碼如下:

       。***

        'vbsCache類

       。

       。傩詖alid,是否可用,取值前判斷

       。傩詎ame,cache名,新建對象后賦值

       。Х椒╝dd(值,到期時間),設置cache內容

        '屬性value,返回cache內容

       。傩詁lempty,是否未設置值

       。Х椒╩akeEmpty,釋放內存,測試用

       。Х椒╡qual(變量1),判斷cache值是否和變量1相同

       。Х椒╡xpires(time),修改過期時間為time

       。绝B2002.12.24

        'http://www.aspsky.net/

        '***

        classCache

        privateobj'cache內容

        privateexpireTime'過期時間

        privateexpireTimeName'過期時間application名

        privatecacheName'cache內容application名

        privatepath'uri

        privatesubclass_initialize()

        path=request.servervariables("url")

        path=left(path,instrRev(path,"/"))

        endsub

        privatesubclass_terminate()

        endsub

        publicpropertygetblEmpty

       。欠駷榭

        ifisempty(obj)then

        blEmpty=true

        else

        blEmpty=false

        endif

        endproperty

        publicpropertygetvalid

       。欠窨捎(過期)

        ifisempty(obj)ornotisDate(expireTime)then

        valid=false

        elseifCDate(expireTime)<nowthen

        valid=false

        else

        valid=true

        endif

        endproperty

        publicpropertyletname(str)

       。гO置cache名

        cacheName=str&path

        obj=application(cacheName)

        expireTimeName=str&"expires"&path

        expireTime=application(expireTimeName)

        endproperty

        publicpropertyletexpires(tm)

       。е卦O置過期時間

        expireTime=tm

        application.lock

        application(expireTimeName)=expireTime

        application.unlock

        endproperty

        publicsubadd(var,expire)

       。зx值

        ifisempty(var)ornotisDate(expire)then

        exitsub

        endif

        obj=var

        expireTime=expire

        application.lock

        application(cacheName)=obj

        application(expireTimeName)=expireTime

        application.unlock

        endsub

        publicpropertygetvalue

        '取值

        ifisempty(obj)ornotisDate(expireTime)then

        value=null

        elseifCDate(expireTime)<nowthen

        value=null

        else

        value=obj

        endif

        endproperty

        publicsubmakeEmpty()

       。п尫臿pplication

        application.lock

        application(cacheName)=empty

        application(expireTimeName)=empty

        application.unlock

        obj=empty

        expireTime=empty

        endsub

        publicfunctionequal(var2)

       。П容^

        iftypename(obj)<>typename(var2)then

        equal=false

        elseiftypename(obj)="Object"then

        ifobjisvar2then

        equal=true

        else

        equal=false

        endif

        elseiftypename(obj)="Variant()"then

        ifjoin(obj,"^")=join(var2,"^")then

        equal=true

        else

        equal=false

        endif

        else

        ifobj=var2then

        equal=true

        else

        equal=false

        endif

        endif

        endfunction

        endclass

        木鳥類例子vbsCache類

        '

       。傩詖alid,是否可用,取值前判斷

       。傩詎ame,cache名,新建對象后賦值

       。Х椒╝dd(值,到期時間),設置cache內容

       。傩詖alue,返回cache內容

       。傩詁lempty,是否未設置值

        '方法makeEmpty,釋放內存,

        '方法DelCahe,刪除內存

       。Х椒╡qual(變量1),判斷cache值是否和變量1相同

        '方法expires(time),修改過期時間為time

       。в梅

        setmyCache=NewCache

        myCache.name="BoardJumpList"'定義緩存名

        ifmyCache.validthen'判斷是否可用(包括過期,與是否為空值)

        response.writemyCache.value'輸出

        else

        ................

        BoardJumpList=xxx

        myCache.addBoardJumpList,dateadd("n",60,now)'寫入緩存xxx.add內容,過期時間

        response.writeBoardJumpList'輸出

        endif

        myCache.makeEmpty()釋放內存

        mycache.DelCahe()刪除緩存

        迷城浪子寫的

        復制代碼 代碼如下:

        ClassCls_Cache

        Rem==================使用說明====================

        Rem=本類模塊是動網先鋒原創,作者:迷城浪子。如采用本類模塊,請不要去掉這個說明。這段注釋不會影響執行的速度。

        Rem=作用:緩存和緩存管理類

        Rem=公有變量:Reloadtime過期時間(單位為分鐘)缺省值為14400

        Rem=MaxCount緩存對象的最大值,超過則自動刪除使用次數少的對象。缺省值為300

        Rem=CacheName緩存組的總名稱,缺省值為"Dvbbs",如果一個站點中有超過一個緩存組,則需要外部改變這個值。

        Rem=屬性:Name定義緩存對象名稱,只寫屬性。

        Rem=屬性:value讀取和寫入緩存數據。

        Rem=函數:ObjIsEmpty()判斷當前緩存是否過期。

        Rem=方法:DelCahe(MyCaheName)手工刪除一個緩存對象,參數是緩存對象的名稱。

        Rem========================

        PublicReloadtime,MaxCount,CacheName

        PrivateLocalCacheName,CacheData,DelCount

        PrivateSubClass_Initialize()

        Reloadtime=14400

        CacheName="Dvbbs"

        EndSub

        PrivateSubSetCache(SetName,NewValue)

        Application.Lock

        Application(SetName)=NewValue

        Application.unLock

        EndSub

        PrivateSubmakeEmpty(SetName)

        Application.Lock

        Application(SetName)=Empty

        Application.unLock

        EndSub

        PublicPropertyLetName(ByValvNewValue)

        LocalCacheName=LCase(vNewValue)

        EndProperty

        PublicPropertyLetValue(ByValvNewValue)

        IfLocalCacheName<>""Then

        CacheData=Application(CacheName&"_"&LocalCacheName)

        IfIsArray(CacheData)Then

        CacheData(0)=vNewValue

        CacheData(1)=Now()

        Else

        ReDimCacheData(2)

        CacheData(0)=vNewValue

        CacheData(1)=Now()

        EndIf

        SetCacheCacheName&"_"&LocalCacheName,CacheData

        Else

        Err.RaisevbObjectError+1,"DvbbsCacheServer","pleasechangetheCacheName."

        EndIf

        EndProperty

        PublicPropertyGetValue()

        IfLocalCacheName<>""Then

        CacheData=Application(CacheName&"_"&LocalCacheName)

        IfIsArray(CacheData)Then

        Value=CacheData(0)

        Else

        Err.RaisevbObjectError+1,"DvbbsCacheServer","TheCacheDataIsEmpty."

        EndIf

        Else

        Err.RaisevbObjectError+1,"DvbbsCacheServer","pleasechangetheCacheName."

        EndIf

        EndProperty

        PublicFunctionObjIsEmpty()

        ObjIsEmpty=True

        CacheData=Application(CacheName&"_"&LocalCacheName)

        IfNotIsArray(CacheData)ThenExitFunction

        IfNotIsDate(CacheData(1))ThenExitFunction

        IfDateDiff("s",CDate(CacheData(1)),Now())<60*ReloadtimeThen

        ObjIsEmpty=False

        EndIf

        EndFunction

        PublicSubDelCahe(MyCaheName)

        makeEmpty(CacheName&"_"&MyCaheName)

        EndSub

        EndClass

        迷城浪子類例子

        SetWydCache=NewCls_Cache

        WydCache.Reloadtime=0.5'定義過期時間(以分鐘為單會)

        WydCache.CacheName="pages"'定義緩存名

        IFWydCache.ObjIsEmpty()Then''判斷是否可用(包括過期,與是否為空值)

        Response.writeWydCache.Value

        Else

        ..................

        BoardJumpList=xxx

        WydCache.Value=BoardJumpList'寫入內容

        Response.writeBoardJumpList

        Endif

        mycache.DelCahe("緩存名")刪除緩存

        slightboy寫的'========================

        復制代碼 代碼如下:

       。lsCache.asp

       。========================

        '==begin:2004-6-2621:51:47

       。==copyright:slightboy(C)1998-2004

       。==email:slightboy@msn.com

       。========================

       。========================

       。imApplication(2)

        'Application(0)Counter計數器

       。pplication(1)dateTime放置時間

       。pplication(2)Content緩存內容

        PublicPREFIX

        PublicPREFIX_LENGTH

        PrivateSubClass_Initialize()

        PREFIX="Cached:"

        PREFIX_LENGTH=7

        EndSub

        PrivateSubClass_Terminate

        EndSub

        '設置變量

        PublicPropertyLetCache(ByRefKey,ByRefContent)

        DimItem(2)

        Item(0)=0

        Item(1)=Now()

        IF(IsObject(Content))Then

        SetItem(2)=Content

        Else

        Item(2)=Content

        EndIF

        Application.Unlock

        Application(PREFIX&Key)=Item

        Application.Lock

        EndProperty

       。〕鲎兞坑嫈灯++

        PublicPropertyGetCache(ByRefKey)

        DimItem

        Item=Application(PREFIX&Key)

        IF(IsArray(Item))Then

        IF(IsObject(Item))Then

        SetCache=Item(2)

        Else

        Cache=Item(2)

        EndIF

        Application(PREFIX&Key)(0)=Application(PREFIX&Key)(0)+1

        Else

        Cache=Empty

        EndIF

        EndProperty

       。z查緩存對象是否存在

        PublicPropertyGetExists(ByRefKey)

        DimItem

        Item=Application(PREFIX&Key)

        IF(IsArray(Item))Then

        Exists=True

        Else

        Exists=False

        EndIF

        EndProperty

        '得到計數器數值

        PublicPropertyGetCounter(ByRefKey)

        DimItem

        Item=Application(PREFIX&Key)

        IF(IsArray(Item))Then

        Counter=Item(0)

        EndIF

        EndProperty

       。гO置計數器時間

        PublicPropertyLetdateTime(ByRefKey,ByRefSetdateTime)

        DimItem

        Item=Application(PREFIX&Key)

        IF(IsArray(Item))Then

        Item(1)=SetdateTime

        EndIF

        EndProperty

       。У玫接嫈灯鲿r間

        PublicPropertyGetdateTime(ByRefKey)

        DimItem

        Item=Application(PREFIX&Key)

        IF(IsArray(Item))Then

        dateTime=Item(1)

        EndIF

        EndProperty

       。е刂糜嫈灯

        PublicSubResetCounter()

        DimKey

        DimItem

        Application.Unlock

        ForEachKeyinApplication.Contents

        IF(Left(Key,PREFIX_LENGTH)=PREFIX)Then

        Item=Application(Key)

        Item(0)=0

        Application(Key)=Item

        EndIF

        Next

        Application.Lock

        EndSub

        '刪除某以緩存

        PublicSubClear(ByRefKey)

        Application.Contents.Remove(PREFIX&Key)

        EndSub

       。蹇諞]有使用的緩存

        PublicSubClearUnused()

        DimKey,Keys,KeyLength,KeyIndex

        ForEachKeyinApplication.Contents

        IF(Left(Key,PREFIX_LENGTH)=PREFIX)Then

        IF(Application(Key)(0)=0)Then

        Keys=Keys&VBNewLine&Key

        EndIF

        EndIF

        Next

        Keys=Split(Keys,VBNewLine)

        KeyLength=UBound(Keys)

        Application.Unlock

        ForKeyIndex=1ToKeyLength

        Application.Contents.Remove(Keys(KeyIndex))

        Next

        Application.Lock

        EndSub

       。蹇账芯彺

        PublicSubClearAll()

        DimKey,Keys,KeyLength,KeyIndex

        ForEachKeyinApplication.Contents

        IF(Left(Key,PREFIX_LENGTH)=PREFIX)Then

        Keys=Keys&VBNewLine&Key

        EndIF

        Next

        Keys=Split(Keys,VBNewLine)

        KeyLength=UBound(Keys)

        Application.Unlock

        ForKeyIndex=1ToKeyLength

        Application.Contents.Remove(Keys(KeyIndex))

        Next

        Application.Lock

        EndSub

        EndClass

        slightboyn類例子SetWyd=NewJayCache

        Wyd.dateTime("Page")=時間

        IfWyd.Exists("Page")Then

        Response.writeWyd.Cache("Page")'輸出

        Else

        Wyd.Cache("Page")=xxx寫入

        Responxe.writexxx

        EndIF

        Wyd.Clear("page")'刪除緩存

      【asp緩存類代碼】相關文章:

      防盜鏈接ASP函數實現代碼01-23

      ASP.NET連SQL7接口的源代碼06-06

      ASP網頁程序設計中10個非常有用的實例代碼08-12

      關于ASP.NET使用JavaScript顯示信息提示窗口實現原理及代碼05-09

      2016職稱英語綜合類A代碼12考試答案09-14

      硬盤的緩存容量是什么08-02

      過濾HTML代碼08-29

      網頁編程語言禁止IE緩存08-10

      主板中緩存常見問題09-29

      ASP提速技巧08-05

      主站蜘蛛池模板: 久久人成免费网站小草| 亚洲无线码1区| 夹江县| 亚洲熟妇av不卡一区二区三区| 亚洲AV无码一区二区三区精神| 国产丝袜美腿美女视频| 日韩在线观看网址| 日本韩国一区二区精品| 久久精品国产精品亚洲婷婷| 凭祥市| 免费视频这里是精品视频| 国产精品一区二区三密桃| 中文字幕一区二区三区日韩网| 精品人妻一区二区久久| 晴隆县| 亚洲Av无码专区尤物 | 日韩人妻无码精品系列专区无遮 | 京山县| 中文字幕日本女优在线观看| 精品国产乱来一区二区三区 | 亚洲一区二区在线观看网站| 国内精品中文字幕一区| 亚洲精品高清av在线播放| 亚洲AV乱码毛片在线播放| 台安县| 霍山县| 公主岭市| 万荣县| 日韩中文字幕在线乱码| 国产黄片一区视频在线观看| 邢台市| 国产精品亚洲A∨无码遮挡| 衡东县| 湖南省| 亚洲国产成人精品激情| 大宁县| av在线亚洲国产精品| 亚洲人成无码网站十八禁| 香蕉亚洲欧洲在线一区| 黄色大片一区二区中文字幕| 国产一区二区三区免费看视频 |