至於緩存的作用,我想我也不用再多說了,它的作用已經很明顯,特別是對於信息量非常大或是全數據庫頁面的網站,他能很好地利用主機的內存資源,加速ASP的執行效率,減輕服務器的負擔,而動網在這一方面做得是最突出的,像他現在的dvbbs7.1.0版,更是在緩存的利用上更上一層樓,前後台大多的操作都和緩存有關,而現在動網裡用的也就是迷城浪子的緩存類,下面列出動網的三大高手寫的ASP緩存類
木鳥寫的
複製代碼代碼如下:
'**********************************************
'vbsCache類
'
'屬性valid,是否可用,取值前判斷
'屬性name,cache名,新建對像後賦值
'方法add(值,到期時間),設置cache內容
'屬性value,返回cache內容
'屬性blempty,是否未設置值
'方法makeEmpty,釋放內存,測試用
'方法equal(變量1),判斷cache值是否和變量1相同
'方法expires(time),修改過期時間為time
'木鳥2002.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)
'設置cache名
cacheName=str&path
obj=application(cacheName)
expireTimeName=str&"expires"&path
expireTime=application(expireTimeName)
endproperty
publicpropertyletexpires(tm)
'重設置過期時間
expireTime=tm
application.lock
application(expireTimeName)=expireTime
application.unlock
endproperty
publicsubadd(var,expire)
'賦值
ifisempty(var)ornotisDate(expire)then
exitsub
endif
obj=var
expireTime=expire
application.lock
application(cacheName)=obj
application(expireTimeName)=expireTime
application.unlock
endsub
publicpropertygetvalue