您的位置:首页 > 编程语言 > ASP

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

2008-06-18 00:05 375 查看
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

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: