• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 '释放对象
    %>
    上一篇:asp下比较全面的获取IP地址的代码
    下一篇:asp下实现批量插入数据的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP实现缓存类无错版 ASP,实现,缓存,类,无错,版,