源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[ASP编程] ASP实现缓存类无错版

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-8-27 22:47:54 | 显示全部楼层 |阅读模式
<% 
'********************************************** 
'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 '释放对象
%>
回复

使用道具 举报

2

主题

2万

回帖

146

积分

注册会员

Rank: 2

积分
146
发表于 2022-9-12 03:55:28 | 显示全部楼层
啦啦啦啦啦啦哈哈哈
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

301

积分

中级会员

Rank: 3Rank: 3

积分
301
发表于 2022-11-24 17:08:27 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-11-27 05:37:26 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-1-2 13:08:15 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-4-10 11:07:56 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

60

积分

注册会员

Rank: 2

积分
60
发表于 2023-6-3 00:24:08 | 显示全部楼层
2222222222222222
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2023-8-30 09:15:33 | 显示全部楼层
加快速度很快就撒谎
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-10-15 22:16:29 | 显示全部楼层
好人好人好人好人
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2023-10-25 16:11:57 | 显示全部楼层
终于找到了,我擦
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-9 12:12 , Processed in 0.119006 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表