ASP实现缓存类无错版_ASP CLASS类

<% 
'********************************************** 
'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 '释放对象
%>

时间: 2024-10-25 13:28:58

ASP实现缓存类无错版_ASP CLASS类的相关文章

ASP面向对象编程探讨及比较_ASP CLASS类

ASP面向对象编程探讨及比较     选择自 RAINMAN_NET 的 Blog   关键字   ASP面向对象编程探讨及比较  出处      ASP是Microsoft于较早期推出的动态网页编程技术,但其结合ADO对数据库方便快捷的访问.结合XML.COM/ActiveX等其它技术 实现服务器多层结构的功能使它在今天还有着顽强的生命力,并且依然有着一定的发展.ASP.Net虽然在架构上完全不同于ASP,但它很多内建对象也是基 于ASP进行扩展的.网上有无数的介绍ASP的文章,却鲜有介绍AS

【先锋海盗类】Ver2005 最终版_ASP CLASS类

复制代码 代码如下: <%  '转发时请保留此声明信息,这段声明不并会影响你的速度! '**************************   [先锋海盗类]Ver2005  最终版******************************** '作者:孙立宇.apollosun.ezhonghua '改进者:arllic  '[消除所有的BUG,去掉了一些不易使用,容易使人误解的功能,优化了执行效率,此为最终版] '官方网站:http://www.lkstar.com   技术支持论坛:h

ASP怎么谈到应用到类的?_ASP CLASS类

先摘录天极网扬老师一篇文章中的一段: 面向对象的程序设计 随着程序的设计的复杂性增加,结构化程序设计方法又不够用了.不够用的根本原因是"代码重用"的时候不方便.面向对象的方法诞生了,它通过继承来实现比较完善的代码重用功能.很多学生在应聘工作,面试的时候,常被问及一个问题"你来谈谈什么是面向对象的程序设计",学生无言,回来问我,这个问题应该怎么回答.我告诉他,你只要说一句话就够了"面向对象程序设计是对数据的封装:范式(模板)的程序设计是对算法的封装.&quo

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

第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等.  复制代码 代码如下: Class ccClsProcessTimeRecorder  '程序作者:明月星光  '作者主页:http://www.5iya.com/blog  'http://www.kuozhanming.com  'ASP程序代码执行时间统计类    Private ccInti,ccIntNonceTime,ccIntDecimal    Private ccIntStartTime,ccIntEndTime

ASP 类 Class入门_ASP CLASS类

Class 声明  声明一个类的名字,就是定义一些变量,属性,方法来组成一个类   这是真的!!!?VBScript中能用类!?!?不知道能不能用于ASP!?这样的话,我就不是能写出像object一样的ASP程序?!说干就干!实践是检验真理的唯一标准,自个动手吧!  我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为"内行",所以我就来分享一下我

ASP类的写法_ASP CLASS类

<% Class myClassName Private int_ID '分类id '类初始化 Private Sub Class_Initialize() m_strError = "" End Sub '类释放 Private Sub Class_Terminate() m_strError = "" End Sub '-----读写各个属性--------------------------- Public Property Get ID ID = in

ASP.NET缓存处理类实例

 本文实例讲述了ASP.NET缓存处理类.分享给大家供大家参考.具体如下: ASP.NET 缓存处理类. 用法: Just copy this code into a new class file (.cs) and add it to your ASP .NET website. One thing to keep in mind is that data stored in ASP .NET Cache can be accessible across all sessions. So wh

ASP 类专题_ASP CLASS类

严格地说,ASP 并不是一门编程语言,所以不存在类这一概念,我们这里说 ASP 类是指 ASP 的编程语言 VBScript 在 ASP 里应用时的类. ASP 类比较简单,它不具有真正意义类的继承.重载等特性,尽管如此,它仍然是非常有用的,它降低了我们编程的复杂度,使我们的程序模块更加合理. ASP 类支持什么 ASP 类比较简单,它不具有真正意义类的继承.重载等特性.它支持以下内容:  公有成员变量.私有成员变量.属性  公有成员函数.私有成员函数  构造函数.析构函数  创建和使用一个最简

ASP类编写详细说明_ASP CLASS类

首先ASP的类是由事件和方法(它们就是构成类的成员了)构成的,如果大家还没有接触过,可以先看看下面的说明(哈哈,我是现学现卖,说得不好请见谅)       在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,只能在类内部调用) 或 Public(公有成员,可以在类内外部调用) .被声明为 Private 的将只在 Class 块内是可见的.被声明为 Public 不仅在 Class 块的内部是可见的,对 Class 块之外的代码也是可见的.没有使用 Private 或