<%
Rem ================================================= ================
Rem = classe:CacheCls
Rem = Descrição: aplicativo em cache
Rem = Revisão:1.01 Beta
Rem = Autor: Herói de Xiong (cexo255)
Rem = Data: 06/05/2005 18:38:10
Rem = QQ:30133499
Rem = MeuSite:Http://www.Relaxlife.net
Rem = Baixar: Http://www.Relaxlife.net /cexo/Cache_pro.rar
Rem = grupo QQ: 4341998
Rem = Aplicável: coloque alguns dados comumente usados, mas raramente alterados, no cache, e a velocidade de chamada será sempre mais rápida do que a leitura do banco de dados.
Rem ================================================= ================
CacheName = "RL"
ClassCacheCls
LocalCacheName privado, Cache_Data
Propriedade pública Let Name (ByVal vNewValue)
LocalCacheName = LCase(vNovoValor)
Cache_Data=Aplicativo(CacheName & "_" & LocalCacheName)
Fim da propriedade
Propriedade pública Let Value (ByVal vNewValue)
Dim N,i,NewValueArr
Se LocalCacheName<>"" Então
N = CountInStr(vNovoValor,"|")
NovoValorArr = Dividir(vNovoValor,"|",-1,1)
ReDim Cache_Data(N)
Para i = 0 a N
Cache_Data(i) = NovoValorArr(i)
Próximo
Aplicativo.Lock
Aplicativo (CacheName & "_" & LocalCacheName) = Cache_Data
Aplicativo.unLock
Outro
Response.Write "Erro ao configurar o cache ou o nome do cache não pode estar vazio, atualize o cache novamente"
Resposta.End()
Terminar se
Fim da propriedade
Propriedade Pública Obter Valor()
Se LocalCacheName<>"" Então
Se IsArray(Cache_Data) Então
Valor=Cache_Dados
Terminar se
Outro
Response.Write "Erro ao configurar o cache ou o nome do cache não pode estar vazio, atualize o cache novamente"
Resposta.End()
Terminar se
Fim da propriedade
'Obtém o valor no cache especificado
Função pública GetCacheValue(MyCacheName)
GetCacheValue = Aplicativo (CacheName & "_" & MyCacheName)
Função final
'Obtém todos os nomes de cache
Função Pública GetallCacheName()
Dim Cacheobj
Para cada Cacheobj em Application.Contents
GetallCacheName = GetallCacheName & Cacheobj & ","
Próximo
GetallCacheName = Esquerda(GetallCacheName,Len(GetallCacheName)-1)
GetallCacheName = Substituir(GetallCacheName,CacheName & "_","")
Função final
'Libera cache
Sub DelCahe público (MyCaheName)
Aplicativo.Lock
Application.Contents.Remove(CacheName & "_" & MyCacheName)
Aplicativo.unLock
Finalizar sub
'Libera todos os caches
Sub público RemoveAllCache()
Dim Cachelista, eu
Cachelist=Split(GetallCacheName(),",")
Se UBound(Cachelist)>0 Então
Para i=0 para UBound(Cachelist)
Lista de cache DelCache (i)
Próximo
Terminar se
Finalizar sub
'Conta quantas vezes o personagem Char aparece em Str
Função privada CountInStr(Str,Char)
ContagemInStr = 0
Dim eu, CharLen
CharLen = Len(Char)
Para i = 1 para Len(Str)
Se Mid(Str, i, CharLen) = Char Então CountInStr = CountInStr + 1
Próximo
Função Final
Classe Final
Dim CachePro
Definir CachePro = Novo CacheCls
'Defina o cache "cexo255" e seu valor: "cexo2551|cexo2552|cexo2553|cexo2554|cexo2555"
CachePro.Name = "cexo255"
CachePro.Value = "cexo2551|cexo2552|cexo2553|cexo2554|cexo2555"
'Obtém o valor no cache atual
'CacheArr = CachePro.Value
CachePro.Name = "wxf"
CachePro.Value = "wxf"
CachePro.Name = "dw"
CachePro.Value = "dw"
'Liberar cache cexo255
'CachePro.DelCache("cexo255")
'Libera todos os caches
'CachePro.RemoveAllCache
' Obtenha o valor no cache cexo255
CacheArr = CachePro.GetCacheValue("cexo255")
Se isArray(CacheArr) Então
Para i = 0 para UBound(CacheArr)
Response.Write CacheArr(i) & "<br>"
Próximo
Outro
Response.Write "Cache liberado!!!"
Terminar se
Set CachePro = Nada
%>