首页
印 像 新 闻 系 统
网站首页 公告信息 编程实例 PHP函数 摄影无界 全景展示 我的作品 意见专栏
 

木鸟写的缓存类

【2006年04月08日 14:33:28】 【阅读:次】 【字体:大 中 小 默认】 【背景:#换背景 #换背景 #换背景 #换背景 #换背景 #换背景 #换背景 默认】

木鸟写的
**********************************************
vbs Cache类

属性valid,是否可用,取值前判断
属性name,cache名,新建对象后赋值
方法add(值,到期时间),设置cache内容
属性value,返回cache内容
属性blempty,是否未设置值
方法makeEmpty,释放内存,测试用
方法equal(变量1),判断cache值是否和变量1相同
方法expires(time),修改过期时间为time
木鸟  2002.12.24
http://www.aspsky.net/
**********************************************

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


木鸟 类例子 vbs Cache类

 

属性valid,是否可用,取值前判断
属性name,cache名,新建对象后赋值
方法add(值,到期时间),设置cache内容
属性value,返回cache内容
属性blempty,是否未设置值
方法makeEmpty,释放内存,
   方法DelCahe ,删除内存
方法equal(变量1),判断cache值是否和变量1相同
方法expires(time),修改过期时间为time
   用法 

set myCache=New Cache
myCache.name="BoardJumpList" 定义缓存名
if myCache.valid then 判断是否可用(包括过期,与是否为空值)
   response.write myCache.value 输出
else
   ................
   BoardJumpList=xxx 
   myCache.add BoardJumpList,dateadd("n",60,now) 写入缓存 xxx.add 内容,过期时间
   response.write BoardJumpList  输出
end if
myCache.makeEmpty() 释放内存
mycache.DelCahe() 删除缓存


(『印像空间』 【本文来源:『转载』http://www.aspsky.net/】 【作者:未知】 【录入:留印】)
限200字,剩余 字
关 键 字:
    
搜索条件: