先锋缓存类(极度加速ASP和提高执行效率)

news/2024/5/18 15:33:53 标签: ASP, Cache, QQ, 算法, BBS
clsCache公共属性
引用内容:
valid返回是否有效。true表示有效,false表示无效。只读。
Version获取类的版本信息。只读。
value返回缓存内容。只读。
name设置缓存名称,写入。
expire设置缓存过期时间,写入。



clsCache公共方法
引用内容:
add(Cache,ExpireTime)对缓存赋值(缓存内容,过期时间)
clean()清空缓存
verify(cache2)比较缓存值是否相同——返回是或否。



clsCache使用示例
程序代码:
<!--#includefile="clsCache"-->
<%
dimcontent,myCache
setmyCache=newcache
myCache.name="lkstar"'定义缓存名称
ifmyCache.validthen'如果缓存有效
content=myCache.value'读取缓存内容
else
content="......"'大量内容,可以是非常耗时大量数据库查询记录集
myCache.addcontent,dateadd("n",1000,now)'将内容赋值给缓存,并设置缓存有效期是当前时间+1000分钟
endif
setclsCache=nothing'释放对象
%>


程序代码:
<%
'-------------------------------------------------------------------------------------
'转发时请保留此声明信息,这段声明不并会影响你的速度!
'**************************【先锋缓存类】Ver2004********************************
'作者:孙立宇、apollosun、ezhonghua
'官方网站: http://www.lkstar.com技术支持论坛: http://bbs.lkstar.com
'电子邮件:kickball@netease.com在线QQ:94294089
'版权声明:版权没有,盗版不究,源码公开,各种用途均可免费使用,欢迎你到技术论坛来寻求支持。
'目前的ASP网站有越来越庞大的趋势,资源和速度成了瓶颈
'——利用服务器端缓存技术可以很好解决这方面的矛盾,大大加速ASP运行和改善效率。
'本人潜心研究了各种算法,应该说,这个类是当前最快最纯净的缓存类。
'详细使用说明或范例请见下载附件或到本人官方站点下载!
'--------------------------------------------------------------------------------------
classclsCache
'----------------------------
privatecache'缓存内容
privatecacheName'缓存Application名称
privateexpireTime'缓存过期时间
privateexpireTimeName'缓存过期时间Application名称
privatepath'缓存页URL路径

privatesubclass_initialize()
path=request.servervariables("url")
path=left(path,instrRev(path,"/"))
endsub

privatesubclass_terminate()
endsub

PublicPropertyGetVersion
Version="先锋缓存类Version2004"
EndProperty

publicpropertygetvalid'读取缓存是否有效/属性
ifisempty(cache)or(notisdate(expireTime))then
vaild=false
else
valid=true
endif
endproperty

publicpropertygetvalue'读取当前缓存内容/属性
ifisempty(cache)or(notisDate(expireTime))then
value=null
elseifCDate(expireTime)<nowthen
value=null
else
value=cache
endif
endproperty

publicpropertyletname(str)'设置缓存名称/属性
cacheName=str&path
cache=application(cacheName)
expireTimeName=str&"expire"&path
expireTime=application(expireTimeName)
endproperty

publicpropertyletexpire(tm)'设置缓存过期时间/属性
expireTime=tm
application.Lock()
application(expireTimeName)=expireTime
application.UnLock()
endproperty

publicsubadd(varCache,varExpireTime)'对缓存赋值/方法
ifisempty(varCache)ornotisDate(varExpireTime)then
exitsub
endif
cache=varCache
expireTime=varExpireTime
application.lock
application(cacheName)=cache
application(expireTimeName)=expireTime
application.unlock
endsub

publicsubclean()'释放缓存/方法
application.lock
application(cacheName)=empty
application(expireTimeName)=empty
application.unlock
cache=empty
expireTime=empty
endsub

publicfunctionverify(varcache2)'比较缓存值是否相同/方法——返回是或否
iftypename(cache)<>typename(varcache2)then
verify=false
elseiftypename(cache)="Object"then
ifcacheisvarcache2then
verify=true
else
verify=false
endif
elseiftypename(cache)="Variant()"then
ifjoin(cache,"^")=join(varcache2,"^")then
verify=true
else
verify=false
endif
else
ifcache=varcache2then
verify=true
else
verify=false
endif
endif
endfunction
%>

http://www.niftyadmin.cn/n/609409.html

相关文章

做手好菜,骗个好女孩做女朋友(一)

做手好菜&#xff0c;骗个好女孩做女朋友&#xff08;一&#xff09; 我这个人有不少事还是蛮有天份的&#xff0c;比如说我做的第一个菜就被人称赞很好吃&#xff0c;现在做的菜也比一般小吃店口味好多了。不好意思&#xff0c;自擂了一下。电视里那种一个女孩为了心爱的男人做…

GO 并发编程

1、Mutex 几种状态 ? mutexLocked — 表示互斥锁的锁定状态; ? mutexWoken — 表示从正常模式被从唤醒; ? mutexStarving — 当前的互斥锁进入饥饿状态; ? waitersCount — 当前互斥锁上等待的 Goroutine 个数; 2、Mutex 正常模式和饥饿模式 正常模式(非公平锁) 正常…

创业者们的十大迷思

我最近成了一名风险投资人&#xff0c;所以经常可以遇到一些创业者[1]在创业时常犯的错误。为了避免一遍又一遍的重复说教&#xff0c;我想把这些错误在这里做一个总结&#xff1a; 迷思一&#xff1a;一个好想法就可以让你赚大钱 事实是好想法对于商业成功既不是充分条件也不是…

Linux——磁盘管理与文件系统

Linux——磁盘管理与文件系统一、磁盘1、磁盘的物理结构2、磁盘的数据结构3、磁盘的存储容量4、定位磁盘区域5、磁盘接口类型6、MBR与磁盘分区表示1&#xff09;主启动记录&#xff08;MBR&#xff09;磁盘分区2&#xff09;磁盘分区表示7、磁盘分区结构二、文件系统类型1、XFS…

如何下載《水晶音樂網(http://music.36g.net)》上的歌曲?

首先請安裝多窗口瀏覽器&#xff0c;比如Maxthon&#xff08;下載地址&#xff1a;ftp://max:day1wowoo.net/mcombocn.exe&#xff09;&#xff0c;不想下在這個瀏覽器的Q友也可以直接使用&#xff31;&#xff31;自帶的瀏覽器哦。 然后打开水晶音乐网的网址&#xff0c;选择…

Eclipse 3.1详细时间表

Eclipse的发展真是势不可当&#xff0c;3.1正式版本就快要发布了&#xff0c;这里是一份详细时间表&#xff0c;顺利的话3.1将在六月底七月初发布。 看到Eclipse社区的壮大&#xff0c;我想那些曾经和现在的竞争对手们只能感叹开源的力量吧。 另外&#xff0c;Eclipse.org也要升…

Linux——LVM与磁盘配额

Linux——LVM与磁盘配额一、LVM概述1、Logical Volume Manager,逻辑卷管理2、LVM机制的基本概念1&#xff09;PV&#xff08;Physical Volume&#xff09;物理卷2&#xff09;VG&#xff08;Volume Group&#xff09;卷组3)LV&#xff08;Logical Volume&#xff09;逻辑卷二、…

企业信息化, 该怎么规划?

企业信息化是唯一出路? 正像某位老总(忘了)说,不上ERP要死,上了ERP死的更快,对于企业信息化,只简单引用SAP,协同,还是企业业务的革新,是软件系统的引入还是管理层的思维改革,对于企业信息化,做为信息规划者,应该上哪些项目(对于制造业),是供应链,ERP,业务再造,还是协同,竞争情…