木鸟:ASP缓存类无错版

作者:木鸟 时间:2008-02-20 12:53:00 

asp vbs Cache缓存类

属性valid,是否可用,取值前判断

属性name,cache名,新建对象后赋值

方法add(值,到期时间),设置cache内容

属性value,返回cache内容

属性blempty,是否未设置值 

方法makeEmpty,释放内存,测试用

方法equal(变量1),判断cache值是否和变量1相同

方法expires(time),修改过期时间为time

文章推荐:ASP使用缓存方法及缓存类详解

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) 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) 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 

使用方法:

dim content,myCache
Set myCache = new Cache
myCache.name="sofoisndoffo" '定义缓存名称 
if myCache.valid then '如果缓存有效
content=myCache.value '读取缓存内容
else
content="sosuo8.com测试" '大量内容,可以是非常耗时大量数据库查询记录集
myCache.add content,dateadd("n",1000,now) '将内容赋值给缓存,并设置缓存有效期是当前时间+1000分钟
end if
Response.Write(content)
'myCache.makeEmpty() 
set clsCache=nothing '释放对象

标签:缓存,asp,类
0
投稿

猜你喜欢

  • 36个折纸风格logo设计

    2009-09-17 13:13:00
  • 用途相似的标签

    2008-05-23 13:11:00
  • 从SNS看社会化界面设计 I

    2009-02-19 12:21:00
  • Mootools 1.2教程(19)——Tooltips

    2008-12-25 13:26:00
  • 用户研究角度看设计(1)“复制链接”的故事

    2008-12-26 17:48:00
  • DBA_2PC_PENDING 介绍

    2009-02-28 10:59:00
  • Sql Server 无日志文件附加

    2010-05-30 11:23:00
  • 一直闪烁变色的超级链接代码

    2008-02-27 13:08:00
  • 豆瓣可以做而且值得做的几件事情

    2009-04-24 12:07:00
  • Qzoneing主题视觉设计分享

    2009-07-21 18:12:00
  • 提高CSS代码的可读性

    2008-05-11 18:59:00
  • 一个非常有代表性的javascript简易拖动类

    2009-05-25 12:44:00
  • Mysql数据库备份和还原常用的命令

    2011-12-01 10:41:54
  • 怎样取得局域网中所有SQL Server的实例

    2009-01-08 13:20:00
  • iframe框架用JavaScript子页面控制父页面

    2009-01-19 13:43:00
  • GetPageSize和GetPageScroll:获取页面大小、窗口大小和滚动条位置

    2008-12-27 22:30:00
  • HTML 5 正在改变 Web

    2008-09-15 08:20:00
  • CSS Sprites + 圆角[译]

    2009-05-08 16:10:00
  • mysql性能的检查和调优方法

    2009-05-17 09:21:00
  • 静态网页加密工具

    2009-01-05 12:05:00
  • asp之家 网络编程 m.aspxhome.com