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

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

2007-09-06 14:45 357 查看
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


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