当前位置: 网学 > 编程文档 > ASP > 正文

ASP实现缓存类无错版

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/16

【编者按】网学网ASP频道为大家收集整理了“ASP实现缓存类无错版“提供大家参考,希望对大家有所帮助!

<%
''**********************************************
''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

dim content,myCache
Set myCache = new Cache
myCache.name="sofoisndoffo" ''定义缓存名称
if myCache.valid then ''如果缓存有效
content=m

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号