木鸟:ASP缓存类无错版

作者:木鸟 时间:2008-02-20 12:53:00 

asp vbs Cache缓存类

属性valid,是否可用,取值前判断

属性name,cache名,新建对象后赋值

方法add(值,到期时间),设置cache内容

属性value,返回cache内容

属性blempty,是否未设置值 

方法makeEmpty,释放内存,测试用

方法equal(变量1),判断cache值是否和变量1相同

方法expires(time),修改过期时间为time

文章推荐:ASP使用缓存方法及缓存类详解

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) 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) 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,类
0
投稿

猜你喜欢

  • 轻量级的原生js日历插件calendar.js使用指南

    2024-04-17 09:44:39
  • 分享四个python接口常用封装函数

    2021-11-15 16:33:45
  • oracle删除已存在的表的实例

    2024-01-16 19:24:58
  • js 计算月/周的第一天和最后一天代码

    2024-05-03 15:07:32
  • php源码的使用方法讲解

    2023-06-17 21:47:02
  • python 实现GUI(图形用户界面)编程详解

    2023-10-05 15:11:34
  • PyQt Qt Designer工具的布局管理详解

    2023-09-21 04:44:17
  • pandas:get_dummies()与pd.factorize()的用法及区别说明

    2023-07-10 22:17:32
  • python抓取百度首页的方法

    2023-05-25 13:31:58
  • GIt在pyCharm的详细使用教程记录

    2021-11-21 02:21:05
  • 如何在pycharm中快捷安装pip命令(如pygame)

    2023-02-26 14:53:25
  • SqlServer 2005 T-SQL Query 学习笔记(4)

    2024-01-26 07:44:06
  • MySql数据库基础知识点总结

    2024-01-18 13:30:20
  • JavaScript 如何在线解压 ZIP 文件

    2024-04-22 22:14:58
  • Python3中正则模块re.compile、re.match及re.search函数用法详解

    2023-04-22 10:03:28
  • php遍历CSV类实例

    2023-11-01 23:46:26
  • Python快速查找list中相同部分的方法

    2021-01-28 17:26:00
  • mac安装python3后使用pip和pip3的区别说明

    2021-01-06 21:23:15
  • python 中yaml文件用法大全

    2021-11-30 08:02:29
  • 简单实现SQLServer转MYSQL的方法

    2024-01-21 20:12:13
  • asp之家 网络编程 m.aspxhome.com