<%
Рем ============================================== ================
Rem = класс: CacheCls
Rem = Описание: Кэшированное приложение.
Rem = Версия: 1.01 Бета
Рем = Автор: Герой Сюн (cexo255)
Рем = Дата:2005/05/6 18:38:10
Рем = QQ:30133499
Рем = МойСайт: http://www.Relaxlife.net
Rem = Скачать: http://www.Relaxlife.net/cexo/Cache_pro.rar
Rem = группа QQ: 4341998
Rem = Применимо: поместите в кеш некоторые часто используемые, но редко изменяемые данные, и скорость вызова каждый раз будет выше, чем чтение из базы данных.
Рем ============================================== ================
CacheName = "RL"
КлассКэшКлс
Частное имя LocalCacheName, Cache_Data
Открытое свойство Let Name (ByVal vNewValue)
LocalCacheName = LCase(vNewValue)
Cache_Data=Приложение(CacheName & "_" & LocalCacheName)
Конечная собственность
Открытое свойство Let Value (ByVal vNewValue)
Dim N,i,NewValueArr
Если LocalCacheName<>"" Тогда
N = CountInStr(vNewValue,"|")
NewValueArr = Split(vNewValue,"|",-1,1)
ReDim Cache_Data (N)
Для я = от 0 до N
Cache_Data(i) = NewValueArr(i)
Следующий
Приложение.Блокировка
Приложение (CacheName & «_» & LocalCacheName) = Cache_Data
Приложение.unLock
Еще
Ответ.Напишите «Ошибка настройки кеша, или имя кеша не может быть пустым. Обновите кеш еще раз».
Ответ.Конец()
Конец, если
Конечная собственность
Публичная собственность Получить значение()
Если LocalCacheName<>"" Тогда
Если IsArray(Cache_Data) Тогда
Значение=Кэш_Данные
Конец, если
Еще
Ответ.Напишите «Ошибка настройки кеша, или имя кеша не может быть пустым. Обновите кеш еще раз».
Ответ.Конец()
Конец, если
Конечная собственность
'Получаем значение из указанного кэша
Открытая функция GetCacheValue(MyCacheName)
GetCacheValue = Приложение(CacheName & «_» & MyCacheName)
Конечная функция
'Получаем все имена кэшей
Открытая функция GetallCacheName()
Дим Кэшобдж
Для каждого Cacheobj в Application.Contents
GetallCacheName = GetallCacheName & Cacheobj & ","
Следующий
GetallCacheName = Left(GetallCacheName,Len(GetallCacheName)-1)
GetallCacheName = Заменить(GetallCacheName,CacheName & "_","")
Конечная функция
'Освободить кэш
Публичная подписка DelCahe(MyCaheName)
Приложение.Блокировка
Application.Contents.Remove(CacheName & «_» & MyCacheName)
Приложение.unLock
Конец субтитра
'Освободить все кеши
Публичная подпрограмма RemoveAllCache()
Тусклый кэшелист, я
Cachelist=Split(GetallCacheName(),",")
Если UBound(Cachelist)>0 Тогда
Для i=0 в UBound(Cachelist)
Список кэша DelCache(i)
Следующий
Конец, если
Конец субтитра
'Подсчитайте, сколько раз символ Char появляется в Str
Частная функция CountInStr(Str,Char)
ГрафИнСтр = 0
Дим я,ЧарЛен
ЧарЛен = Лен(Чар)
Для i = 1 до Len(Str)
Если Mid(Str, i, CharLen) = Char Тогда CountInStr = CountInStr + 1
Следующий
Конечная функция
Конечный класс
Dim CachePro
Установить CachePro = Новый 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.DelCache("cexo255")
'Освободить все кеши
'CachePro.RemoveAllCache
'Получить значение из кеша cexo255
CacheArr = CachePro.GetCacheValue("cexo255")
Если isArray(CacheArr) Тогда
Для i = 0 до UBound(CacheArr)
Response.Write CacheArr(i) & "<br>"
Следующий
Еще
Ответ. Напишите «Кэш освобожден!!!»
Завершить, если
Set CachePro = Nothing
%>