先锋缓存类(极度加速ASP和提高执行效率)

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

clsCache 公共属性

引用内容:

valid 返回是否有效。true表示有效,false表示无效。只读。

Version 获取类的版本信息。只读。

value 返回缓存内容。只读。

name 设置缓存名称,写入。

expire 设置缓存过期时间,写入。

clsCache 公共方法

引用内容:

add(Cache,ExpireTime) 对缓存赋值(缓存内容,过期时间)

clean() 清空缓存

verify(cache2) 比较缓存值是否相同——返回是或否。

clsCache 使用示例

程序代码:

<!--#include file="clsCache" -->

<%

dim content,myCache

set myCache=new cache

myCache.name="lkstar" '定义缓存名称

if myCache.valid then '如果缓存有效

content=myCache.value '读取缓存内容

else

content="......" '大量内容,可以是非常耗时大量数据库查询记录集

myCache.add content,dateadd("n",1000,now) '将内容赋值给缓存,并设置缓存有效期是当前时间+1000分钟

end if

set clsCache=nothing '释放对象

%>

程序代码:

<%

'-------------------------------------------------------------------------------------

'转发时请保留此声明信息,这段声明不并会影响你的速度!

'************************** 【先锋缓存类】Ver2004 ********************************

'作者:孙立宇、apollosun、ezhonghua

'官方网站:http://www.lkstar.com 技术支持论坛:http://bbs.lkstar.com

'电子邮件:kickball@netease.com 在线QQ:94294089

'版权声明:版权没有,盗版不究,源码公开,各种用途均可免费使用,欢迎你到技术论坛来寻求支持。

'目前的ASP网站有越来越庞大的趋势,资源和速度成了瓶颈

'——利用服务器端缓存技术可以很好解决这方面的矛盾,大大加速ASP运行和改善效率。

'本人潜心研究了各种算法,应该说,这个类是当前最快最纯净的缓存类。

'详细使用说明或范例请见下载附件或到本人官方站点下载!

'--------------------------------------------------------------------------------------

class clsCache

'----------------------------

private cache '缓存内容

private cacheName '缓存Application名称

private expireTime '缓存过期时间

private expireTimeName '缓存过期时间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 Version

Version="先锋缓存类 Version 2004"

End Property

public property get valid '读取缓存是否有效/属性

if isempty(cache) or (not isdate(expireTime)) then

vaild=false

else

valid=true

end if

end property

public property get value '读取当前缓存内容/属性

if isempty(cache) or (not isDate(expireTime)) then

value=null

elseif CDate(expireTime)<now then

value=null

else

value=cache

end if

end property

public property let name(str) '设置缓存名称/属性

cacheName=str&path

cache=application(cacheName)

expireTimeName=str&"expire"&path

expireTime=application(expireTimeName)

end property

public property let expire(tm) '设置缓存过期时间/属性

expireTime=tm

application.Lock()

application(expireTimeName)=expireTime

application.UnLock()

end property

public sub add(varCache,varExpireTime) '对缓存赋值/方法

if isempty(varCache) or not isDate(varExpireTime) then

exit sub

end if

cache=varCache

expireTime=varExpireTime

application.lock

application(cacheName)=cache

application(expireTimeName)=expireTime

application.unlock

end sub

public sub clean() '释放缓存/方法

application.lock

application(cacheName)=empty

application(expireTimeName)=empty

application.unlock

cache=empty

expireTime=empty

end sub

public function verify(varcache2) '比较缓存值是否相同/方法——返回是或否

if typename(cache)<>typename(varcache2) then

verify=false

elseif typename(cache)="Object" then

if cache is varcache2 then

verify=true

else

verify=false

end if

elseif typename(cache)="Variant()" then

if join(cache,"^")=join(varcache2,"^") then

verify=true

else

verify=false

end if

else

if cache=varcache2 then

verify=true

else

verify=false

end if

end if

end function

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航