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

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

2015-12-31 11:24 746 查看
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

%>

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