源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ASP实现缓存类无错版

  • 时间:2022-12-09 06:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要: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=myCache.value '读取缓存内容 else  content="sosuo8.com测试" '大量内容,可以是非常耗时大量数据库查询记录集  myCache.add content,dateadd("n",1000,now) '将内容赋值给缓存,并设置缓存有效期是当前时间+1000分钟 end if Response.Write(content) 'myCache.makeEmpty()   set clsCache=nothing '释放对象 %>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部