手机
当前位置:查字典教程网 >编程开发 >ASP教程 >ASP实现缓存类无错版
ASP实现缓存类无错版
摘要:

<%

'**********************************************

'vbsCache类

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

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

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

'属性value,返回cache内容

'属性blempty,是否未设置值

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

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

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

'木鸟写的缓存类

'**********************************************

classCache

privateobj'cache内容

privateexpireTime'过期时间

privateexpireTimeName'过期时间application名

privatecacheName'cache内容application名

privatepath'uri

privatesubclass_initialize()

path=request.servervariables("url")

path=left(path,instrRev(path,"/"))

endsub

privatesubclass_terminate()

endsub

publicpropertygetblEmpty

'是否为空

ifisempty(obj)then

blEmpty=true

else

blEmpty=false

endif

endproperty

publicpropertygetvalid

'是否可用(过期)

ifisempty(obj)ornotisDate(expireTime)then

valid=false

elseifCDate(expireTime)<nowthen

valid=false

else

valid=true

endif

endproperty

publicpropertyletname(str)

'设置cache名

cacheName=str&path

obj=application(cacheName)

expireTimeName=str&"expires"&path

expireTime=application(expireTimeName)

endproperty

publicpropertyletexpires(tm)

'重设置过期时间

expireTime=tm

application.lock

application(expireTimeName)=expireTime

application.unlock

endproperty

publicsubadd(var,expire)

'赋值

ifisempty(var)ornotisDate(expire)then

exitsub

endif

obj=var

expireTime=expire

application.lock

application(cacheName)=obj

application(expireTimeName)=expireTime

application.unlock

endsub

publicpropertygetvalue

'取值

ifisempty(obj)ornotisDate(expireTime)then

value=null

elseifCDate(expireTime)<nowthen

value=null

else

value=obj

endif

endproperty

publicsubmakeEmpty()

'释放application

application.lock

application(cacheName)=empty

application(expireTimeName)=empty

application.unlock

obj=empty

expireTime=empty

endsub

publicfunctionequal(var2)

'比较

iftypename(obj)<>typename(var2)then

equal=false

elseiftypename(obj)="Object"then

ifobjisvar2then

equal=true

else

equal=false

endif

elseiftypename(obj)="Variant()"then

ifjoin(obj,"^")=join(var2,"^")then

equal=true

else

equal=false

endif

else

ifobj=var2then

equal=true

else

equal=false

endif

endif

endfunction

endclass

dimcontent,myCache

SetmyCache=newCache

myCache.name="sofoisndoffo"'定义缓存名称

ifmyCache.validthen'如果缓存有效

content=myCache.value'读取缓存内容

else

content="sosuo8.com测试"'大量内容,可以是非常耗时大量数据库查询记录集

myCache.addcontent,dateadd("n",1000,now)'将内容赋值给缓存,并设置缓存有效期是当前时间+1000分钟

endif

Response.Write(content)

'myCache.makeEmpty()

setclsCache=nothing'释放对象

%>

【ASP实现缓存类无错版】相关文章:

ASP代码实现图片上传并存入数据库中

实现ASP程序执行时间统计类的代码

捌度空间 缓存类

ASP解压缩(在线解压缩类)

ASP + Serv-u 实现FTP的代码

聊天室实现私聊第1/4页

用ASP+DLL实现WEB方式修改服务器时间

Asp实现假静态

用ASP+CSS实现随机背景

asp实现树型结构

精品推荐
分类导航