asp缓存类

原创 2007年09月20日 10:01:00

'**********************************************
' vbs Cache类
' 属性valid,是否可用,取值前判断
' 属性name,cache名,新建对象后赋值
' 方法add(值,到期时间),设置cache内容
' 属性value,返回cache内容
' 属性blempty,是否未设置值
' 方法makeEmpty,释放内存,测试用
' 方法equal(变量1),判断cache值是否和变量1相同
' 方法expires(time),修改过期时间为time
'**********************************************
class Cache
private obj 'cache内容
private expireTime '过期时间
private expireTimeName '过期时间application名
private cacheName 'cache内容application名
private path 'uri

private sub class_initialize()
path=request.servervariables("url")
path=left(path,instrRev(path,"/"))
end sub

private sub class_terminate()
end sub

public property get blEmpty
'是否为空
if isempty(obj) then
blEmpty=true
else
blEmpty=false
end if
end property

public property get valid
'是否可用(过期)
if isempty(obj) or not isDate(expireTime) then
valid=false
elseif CDate(expireTime)<now then
valid=false
else
valid=true
end if
end property

public property let name(str)
'设置cache名
cacheName=str & path
obj=application(cacheName)
expireTimeName=str & "expires" & path
expireTime=application(expireTimeName)
end property

public property let expires(tm)
'重设置过期时间
expireTime=tm
application.lock
application(expireTimeName)=expireTime
application.unlock
end property

public sub add(var,expire)
'赋值
if isempty(var) or not isDate(expire) then
exit sub
end if
obj=var
expireTime=expire
application.lock
application(cacheName)=obj
application(expireTimeName)=expireTime
application.unlock
end sub

public property get value
'取值
if isempty(obj) or not isDate(expireTime) then
value=null
elseif CDate(expireTime)<now then
value=null
else
value=obj
end if
end property

public sub makeEmpty()
'释放application
application.lock
application(cacheName)=empty
application(expireTimeName)=empty
application.unlock
obj=empty
expireTime=empty
end sub

public function equal(var2)
'比较
if typename(obj)<>typename(var2) then
equal=false
elseif typename(obj)="Object" then
if obj is var2 then
equal=true
else
equal=false
end if
elseif typename(obj)="Variant()" then
if join(obj,"^")=join(var2,"^") then
equal=true
else
equal=false
end if
else
if obj=var2 then
equal=true
else
equal=false
end if
end if
end function
end class  

 

使用:

set myCache=New Cache
myCache.name="blog_user"
 if myCache.valid then
  blog_user=split(myCache.value,"|")
   for i=1 to ubound(blog_user)
    response.write blog_user(i)&"<br>"
   next
 else
  set rs=conn.execute("SELECT blog_user FROM blog_reg ORDER BY blog_id DESC")
   while not rs.eof
    xxx=xxx&"|"&rs("blog_user")
   rs.movenext:wend:rs.close:set rs=nothing
   BoardJumpList=xxx
   myCache.add BoardJumpList,dateadd("n",60,now)
   response.write BoardJumpList
 end if

相关文章推荐

asp.net 自定义文件缓存类

Asp.net 缓存Cache功能已经是很常见的功能了,网络上面这种相关的文章也非常之多,我这里所要讲的缓存并不是.NET所提供的缓存,而是过通文件方式来存放的。这样可以很好的减少服务器资源。先看一下...
  • zyyjc
  • zyyjc
  • 2011年07月21日 17:24
  • 1480

asp模板解析类模块(支持if,function,loop及解析缓存)

Class Cls_TemplateDim RegDim PageDim CIDDim SIDDim RuleDim ContentDim TemplateDim CachetimeiPrivate ...
  • tgw2000
  • tgw2000
  • 2015年01月20日 16:53
  • 472

asp.net 缓存的各种方法

  • 2012年11月07日 08:12
  • 116KB
  • 下载

ASP.NET缓存技术应用总结

  • 2011年12月07日 11:20
  • 44KB
  • 下载

ASP.NET性能优化之构建自定义文件缓存

ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的。这意味着如果我们的站点含有大量的缓存,则很容易消耗掉本机内存。现在,借助于.NET4.0中的OutputCacheProv...
  • dz45693
  • dz45693
  • 2012年09月03日 21:16
  • 1986

ASP.NET缓存剖析

  • 2013年01月24日 17:42
  • 326KB
  • 下载

ASP.NET在响应中禁止缓存

  • 2017年04月22日 20:29
  • 65KB
  • 下载

ASP.NET——缓存(cache)

1.      基础     Ø  定义     缓存(cache)是一种用空间换取时间的技术,存在于计算机的很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取,...

概述ASP.NET缓存机制

  • 2011年07月17日 22:36
  • 68KB
  • 下载

ASP.NET_缓存技术

  • 2009年09月25日 11:27
  • 178KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp缓存类
举报原因:
原因补充:

(最多只允许输入30个字)