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

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
%
>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值