CacheCls缓存的应用 复制代码 代码如下:<% Rem ================================================================= Rem = 类:CacheCls Rem = 说明:缓存的应用 Rem = Revision:1.01 Beta Rem = 作者:熊氏英雄(cexo255) Rem = Date:2005/05/6 18:38:10 Rem = QQ:30133499 Rem = MySite:Http://www.Relaxlife.net Rem = 下载:Http://www.Relaxlife.net/cexo/Cache_pro.rar Rem = QQ群:4341998 Rem = 适用:对一些常用到,而又不常改变的数据放入缓存中,调用速度要比每次都要从数据库中读要快N陪 Rem ================================================================= CacheName = "RL" Class CacheCls Private LocalCacheName, Cache_Data Public Property Let Name(ByVal vNewValue) LocalCacheName = LCase(vNewValue) Cache_Data=Application(CacheName & "_" & LocalCacheName) End Property Public Property Let Value(ByVal vNewValue) Dim N,i,NewValueArr If LocalCacheName<>"" Then N = CountInStr(vNewValue,"|") NewValueArr = Split(vNewValue,"|",-1,1) ReDim Cache_Data(N) For i = 0 to N Cache_Data(i) = NewValueArr(i) Next Application.Lock Application(CacheName & "_" & LocalCacheName) = Cache_Data Application.unLock Else Response.Write "设置缓存出错,或缓存名不能为空,请重新更新缓存" Response.End() End If End Property Public Property Get Value() If LocalCacheName<>"" Then If IsArray(Cache_Data) Then Value=Cache_Data End If Else Response.Write "设置缓存出错,或缓存名不能为空,请重新更新缓存" Response.End() End If End Property '取指定缓存中的值 Public Function GetCacheValue(MyCaheName) GetCacheValue = Application(CacheName & "_" & MyCaheName) End Function '取所有缓存名 Public Function GetallCacheName() Dim Cacheobj For Each Cacheobj in Application.Contents GetallCacheName = GetallCacheName & Cacheobj & "," Next GetallCacheName = Left(GetallCacheName,Len(GetallCacheName)-1) GetallCacheName = Replace(GetallCacheName,CacheName & "_","") End Function '释放缓存 Public Sub DelCahe(MyCaheName) Application.Lock Application.Contents.Remove(CacheName & "_" & MyCaheName) Application.unLock End Sub '释放所有缓存 Public Sub RemoveAllCache() Dim Cachelist,i Cachelist=Split(GetallCacheName(),",") If UBound(Cachelist)>0 Then For i=0 to UBound(Cachelist) DelCahe Cachelist(i) Next End If End Sub '统计字符Char在Str中出现的次数 Private Function CountInStr(Str,Char) CountInStr = 0 Dim i, CharLen CharLen = Len(Char) For i = 1 to Len(Str) If Mid(Str, i, CharLen) = Char Then CountInStr = CountInStr + 1 Next End Function End Class Dim CachePro Set CachePro = New CacheCls '设置缓存“cexo255”和它的值:"cexo2551|cexo2552|cexo2553|cexo2554|cexo2555" CachePro.Name = "cexo255" CachePro.Value = "cexo2551|cexo2552|cexo2553|cexo2554|cexo2555" '取当前缓存中的值 'CacheArr = CachePro.Value CachePro.Name = "wxf" CachePro.Value = "wxf" CachePro.Name = "dw" CachePro.Value = "dw" '释放缓存cexo255 'CachePro.DelCahe("cexo255") '释放所有缓存 'CachePro.RemoveAllCache '取cexo255缓存中的值 CacheArr = CachePro.GetCacheValue("cexo255") If isArray(CacheArr) Then For i = 0 to UBound(CacheArr) Response.Write CacheArr(i) & "
" Next Else Response.Write "缓存被释放!!!" End if Set CachePro = Nothing %>