缓存的应用,调用速度要比每次都要从数据库中读要快N陪

王朝学院·作者佚名  2009-06-10
窄屏简体版  字體: |||超大  

<%

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) & "<br>"

Next

Else

Response.Write "缓存被释放!!!"

End if

Set CachePro = Nothing

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航