木鸟: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