<%
Rem ================================================== ================
Rem = classe : CacheCls
Rem = Description : application mise en cache
Rem = Révision : 1.01 Bêta
Rem = Auteur : Le héros de Xiong (cexo255)
Rem = Date : 06/05/2005 18:38:10
Rem = QQ:30133499
Rem = MonSite : Http://www.Relaxlife.net
Rem = Télécharger : Http://www.Relaxlife.net /cexo/Cache_pro.rar
Rem = groupe QQ : 4341998
Rem = Applicable : mettez dans le cache certaines données couramment utilisées mais rarement modifiées, et la vitesse d'appel est plus rapide que la lecture à partir de la base de données à chaque fois.
Rem ================================================== ================
NomCache = "RL"
ClasseCacheCls
LocalCacheName privé, Cache_Data
Nom de la propriété publique (ByVal vNewValue)
LocalCacheName = LCase (vNewValue)
Cache_Data=Application (CacheName & "_" & LocalCacheName)
Propriété de fin
Valeur de location de propriété publique (ByVal vNewValue)
Dim N,i,NewValueArr
Si LocalCacheName<>"" Alors
N = CountInStr(vNouvelleValeur,"|")
NouvelleValueArr = Split(vNouvelleValue,"|",-1,1)
ReDim Cache_Data(N)
Pour i = 0 à N
Cache_Data(i) = NouvelleValueArr(i)
Suivant
Application.Lock
Application (CacheName & "_" & LocalCacheName) = Cache_Data
Application.unLock
Autre
Response.Write "Erreur de configuration du cache ou le nom du cache ne peut pas être vide, veuillez mettre à jour le cache à nouveau"
Réponse.Fin()
Fin si
Propriété de fin
Propriété publique obtenir de la valeur()
Si LocalCacheName<>"" Alors
Si IsArray (Cache_Data) Alors
Valeur=Cache_Data
Fin si
Autre
Response.Write "Erreur de configuration du cache ou le nom du cache ne peut pas être vide, veuillez mettre à jour le cache à nouveau"
Réponse.Fin()
Fin si
Propriété de fin
'Obtenir la valeur dans le cache spécifié
Fonction publique GetCacheValue(MyCacheName)
GetCacheValue = Application (CacheName & "_" & MyCacheName)
Fonction de fin
'Obtenir tous les noms de cache
Fonction publique GetallCacheName()
Dim Cacheobj
Pour chaque Cacheobj dans Application.Contents
GetallCacheName = GetallCacheName & Cacheobj & ","
Suivant
GetallCacheName = Gauche(GetallCacheName,Len(GetallCacheName)-1)
GetallCacheName = Remplacer(GetallCacheName,CacheName & "_","")
Fonction de fin
'Libérer le cache
Sous-marin public DelCahe (MyCaheName)
Application.Lock
Application.Contents.Remove (CacheName & "_" & MyCacheName)
Application.unLock
Fin du sous-marin
'Libérer tous les caches
Sous-public RemoveAllCache()
Dim Cachelist, je
Cachelist=Split(GetallCacheName(),",")
Si UBound(Cachelist)>0 Alors
Pour i = 0 à UBound (Cachelist)
Liste de cache DelCache (i)
Suivant
Fin si
Fin du sous-marin
'Comptez le nombre de fois où le caractère Char apparaît dans Str
Fonction privée CountInStr(Str,Char)
CompteInStre = 0
Dim je, CharLen
CharLen = Len(Char)
Pour i = 1 à Len(Str)
Si Mid(Str, i, CharLen) = Char Alors CountInStr = CountInStr + 1
Suivant
Fin de fonction
Fin de classe
Dim CachePro
Définir CachePro = Nouveau CacheCls
'Définir le cache "cexo255" et sa valeur : "cexo2551|cexo2552|cexo2553|cexo2554|cexo2555"
CachePro.Name = "cexo255"
CachePro.Value = "cexo2551|cexo2552|cexo2553|cexo2554|cexo2555"
'Obtenir la valeur dans le cache actuel
'CacheArr = CachePro.Value
CachePro.Name = "wxf"
CachePro.Value = "wxf"
CachePro.Name = "dw"
CachePro.Value = "dw"
'Libérer le cache cexo255
'CachePro.DelCache("cexo255")
'Libérer tous les caches
'CachePro.RemoveAllCache
'Récupérer la valeur dans le cache cexo255
CacheArr = CachePro.GetCacheValue("cexo255")
Si isArray(CacheArr) Alors
Pour i = 0 à UBound(CacheArr)
Réponse.Write CacheArr(i) & "<br>"
Suivant
Autre
Réponse.Écrivez "Cache libéré !!!"
Terminer si
Set CachePro = Rien
%>