先锋缓存类(极度加速ASP和提高执行效率)
2007-09-06 14:45
357 查看
clsCache 公共属性
clsCache 公共方法
clsCache 使用示例
<%
'-------------------------------------------------------------------------------------
'转发时请保留此声明信息,这段声明不并会影响你的速度!
'************************** 【先锋缓存类】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
%>
引用内容: |
valid 返回是否有效。true表示有效,false表示无效。只读。 Version 获取类的版本信息。只读。 value 返回缓存内容。只读。 name 设置缓存名称,写入。 expire 设置缓存过期时间,写入。 |
引用内容: |
add(Cache,ExpireTime) 对缓存赋值(缓存内容,过期时间) clean() 清空缓存 verify(cache2) 比较缓存值是否相同——返回是或否。 |
程序代码: |
<!--#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
%>
相关文章推荐
- 先锋缓存类(极度加速ASP和提高执行效率)
- 先锋缓存类(极度加速ASP和提高执行效率)
- 先锋缓存类(极度加速ASP和提高执行效率)
- 提高ASP页面执行效率的方法分析
- 如何提高asp的SQL的执行效率提高数据库读取速度
- 提高ASP页面的执行效率
- 对提高ASP执行效率的几点看法
- ASP.NET与ASP相比,主要有哪些进步? 执行效率的大幅提高 强大的开发工具支持 多处理器环境的可靠性 安全型
- 提高ASP页面的执行效率(上)
- 提高ASP页面执行效率的方法分析
- 提高ASP页面的执行效率(中)
- 提高ASP页面的执行效率
- 提高ASP页面的执行效率(下)
- 对提高ASP执行效率的几点看法
- 提高SQL的执行效率的ASP的五种做法
- 提高SQL的执行效率的ASP的五种做法
- 提高SQL的执行效率的ASP的五种做法
- 30个提高Web程序执行效率的好经验
- 提高sql的执行效率
- 提高php执行效率的50个技巧