详细的关于ASP缓存类的教程
作者 佚名技术
来源 ASP编程
浏览
发布时间 2012-03-12
文件Users.ASP < %
''Clone方法使得每个用户拥有自己的一个RecordSet集合 Set yourUsers = Application("rsUsers").Clone Set UserName = yourUsers("UserName") Set Password = yourUsers("Password") Do Until yourUsers.EOF % > 用户姓名:< %= UserName % > 用户密码:< %= Password % > < % yourUsers.MoveNext Loop % > 至于缓存的作用,我想我也不用再多说了,它的作用已经很明显,特别是对于信息量非常大或是全数据库页面的网站,他能很好地利用主机的内存资源,加速ASP的执行效率,减轻服务器的负担,而动网在这一方面做得是最突出的,像他现在的dvbbs7.1.0版,更是在缓存的利用上更上一层楼,前后台大多的操作都和缓存有关,而现在动网里用的也就是迷城浪子的缓存类: <%
Class Cls_Cache ''==================使用说明==================== ''本类模块是动网先锋原创,作者:迷城浪子。如采用本类模块,请不要去掉这个说明。这段注释不会影响执行的速度。 ''作用:缓存和缓存管理类 ''公有变量:Reloadtime 过期时间(单位为分钟)缺省值为14400 ''MaxCount 缓存对象的最大值,超过则自动删除使用次数少的对象。缺省值为300 ''CacheName 缓存组的总名称,缺省值为"Dvbbs",如果一个站点中有超过一个缓存组,则需要外部改变这个值。 ''属性:Name 定义缓存对象名称,只写属性。 ''属性:value 读取和写入缓存数据。 ''函数:ObjIsEmpty()判断当前缓存是否过期。 ''方法:DelCahe(MyCaheName)手工删除一个缓存对象,参数是缓存对象的名称。 ''======================== Public Reloadtime,MaxCount,CacheName Private LocalCacheName,CacheData,DelCount Private Sub Class_Initialize() Reloadtime=14400 ''过期时间(单位为分钟) CacheName="Dvbbs" ''缓存组的总名称 End Sub Private Sub SetCache(SetName,NewValue) Application.Lock Application(SetName) = NewValue Application.unLock End Sub Public Property Let Name(ByVal vNewValue) ''缓存对象名称 LocalCacheName=LCase(vNewValue) End Property Public Property Let Value(ByVal vNewValue) ''读取和写入缓存数据 If LocalCacheName<>"" Then CacheData=Application(CacheName&"_"&LocalCacheName) If IsArray(CacheData) Then CacheData(0)=vNewValue CacheData(1)=Now() Else ReDim CacheData(2) CacheData(0)=vNewValue CacheData(1)=Now() End If SetCache CacheName&"_"&LocalCacheName,CacheData Else Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName." End If End Property Public Property Get Value() If LocalCacheName<>"" Then CacheData=Application(CacheName&"_"&LocalCacheName) If IsArray(CacheData) Then Value=CacheData(0) Else Err.Raise vbObjectError + 1, "DvbbsCacheServer", " The CacheData Is Empty." End If Else Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName." End If End Property Public Function ObjIsEmpty() ''判断当前缓存是否过期 ObjIsEmpty=True CacheData=Application(CacheName&"_"&LocalCacheName) If Not IsArray(CacheData) Then Exit Function If Not IsDate(CacheData(1)) Then Exit Function If DateDiff("s",CDate(CacheData(1)),Now()) < 60*Reloadtime Then ObjIsEmpty=False End Function Private Sub makeEmpty(SetName) ''释放内存 Application.Lock Application(SetName) = Empty Application.unLock End Sub Public Sub DelCahe(MyCaheName) ''删除缓存 makeEmpty(CacheName&"_"&MyCaheName) End Sub End Class ''Set WydCache=New Cls_Cache ''WydCache.Reloadtime=0.5 ''定义过期时间 (以分钟为单会) ''WydCache.CacheName="pages" ''定义缓存名 ''IF WydCache.ObjIsEmpty() Then ''''判断是否可用(包括过期,与是否为空值) ''Response.write WydCache.Value ''Else ''.................. ''BoardJumpList=xxx ''WydCache.Value=BoardJumpList ''写入内容 ''Response.write BoardJumpList ''End if '' ''mycache.DelCahe("缓存名") 删除缓存 %> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇:
IIS6架设网站的问题总结
下一篇:
rs.open和conn.execute
关于
详细的关于ASP缓存类的教程
的所有评论