木鸟: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