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缓存类

'********************************************** ' vbs Cache类 ' ' 属性valid,是否可用,取值前判断 ' 属性name,cache名,...
  • shunzi110
  • shunzi110
  • 2007年07月31日 12:06
  • 1117

asp中的数据缓存

用md5后的sql语句做key,在application ,硬盘中存储得到的数据
  • puber
  • puber
  • 2011年03月27日 18:10
  • 1013

使asp页面不缓存

将如下代码加入到asp页面的开头部分:response.expiresabsolute = now() - 1response.addHeader "pragma","no-cache"respons...
  • vince6799
  • vince6799
  • 2006年05月03日 11:34
  • 1802

ASP缓存类无错版

% ********************************************** vbs Cache类 属性valid,是否可用,取值前判断  属性name,cache名,新建对象后赋...
  • feng2375
  • feng2375
  • 2007年09月07日 10:31
  • 637

asp网站程序启用浏览器和代理缓存

在默认情况下,ASP 禁止在浏览器和代理中进行缓存。这是有意义的,因为就实质而言 ASP 页面是动态的,上面有随时间不断变化的潜在信息。如果页面不要求在每个视图上进行刷新,您应启用浏览器和代理缓存。这...
  • andyjiang2008
  • andyjiang2008
  • 2014年11月22日 13:37
  • 412

ASP缓存类

使用ASP中的缓存技术可以很大程度上提高你的网站性能,其实这些实现方法是非常的简单,它将说明如何在服务器上的缓存是如何工作以及你如何使用一种被称为断开连接的ADO连接技术。   在介绍这些技术之前先说...
  • starlight36
  • starlight36
  • 2006年12月13日 23:01
  • 837

清除asp缓存三个办法

清除asp缓存三个办法1、在Asp页面首部加入 Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires...
  • xqf222
  • xqf222
  • 2006年09月23日 10:03
  • 2335

ASP的缓存数据技术

缓存(cache)是将相对高速的存储设备作为相对低速的存储设备与系统之间I/O的缓冲区,它能大幅提高系统的性能.  对于Web站点来说,缓存数据就是将用户每次访问你的站点时需要动态生成的信息预先生成并...
  • RoomDay
  • RoomDay
  • 2005年04月30日 14:32
  • 1043

ASP不缓存页面

Response.Expires = 0 Response.Expiresabsolute = Now() - 1 Response.AddHeader "pragma","no-cache" Res...
  • xck01
  • xck01
  • 2006年04月21日 15:36
  • 2551

Asp防止网页频繁刷新和强制不缓存的方法

浏览器的后退按钮使得我们能够方便地返回以前访问过的页面,它无疑非常有用。但有时候我们不得不关闭这个功能,以防止用户打乱预定的页面访问次序。本文介绍网络上可找到的各种禁用浏览器后退按钮方案,分析它们各自...
  • my98800
  • my98800
  • 2017年04月21日 08:09
  • 445
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp缓存类
举报原因:
原因补充:

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