<%
レム =============================================== ================
Rem = クラス:CacheCls
Rem = 説明: キャッシュされたアプリケーション
レム = リビジョン:1.01 ベータ版
レム = 著者: シオンの英雄 (cexo255)
レム=日付:2005/05/6 18:38:10
レム=QQ:30133499
レム = MySite:http://www.Relaxlife.net
レム = ダウンロード: http://www.Relaxlife.net /cexo/Cache_pro.rar
レム=QQグループ:4341998
Rem = 適用可能: よく使用されるが変更の頻度が低いデータをキャッシュに入れると、毎回データベースから読み取るよりも呼び出し速度が速くなります。
レム =============================================== ================
キャッシュ名 = "RL"
クラスキャッシュCls
プライベート LocalCacheName、Cache_Data
Public プロパティ Let Name(ByVal vNewValue)
LocalCacheName = LCase(vNewValue)
Cache_Data=Application(キャッシュ名 & "_" & ローカルキャッシュ名)
終了プロパティ
Public プロパティ Let Value(ByVal vNewValue)
ディム N、i、NewValueArr
LocalCacheName<>"" の場合、次に
N = CountInStr(vNewValue,"|")
NewValueArr = Split(vNewValue,"|",-1,1)
ReDim キャッシュ_データ(N)
i = 0 ~ N の場合
Cache_Data(i) = NewValueArr(i)
次
アプリケーション.ロック
アプリケーション(キャッシュ名 & "_" & ローカルキャッシュ名) = キャッシュ_データ
アプリケーション.ロック解除
それ以外
Response.Write "キャッシュ設定エラー、またはキャッシュ名を空にすることはできません。キャッシュを再度更新してください。"
Response.End()
終了の場合
終了プロパティ
パブリック プロパティ Get Value()
LocalCacheName<>"" の場合、次に
IsArray(Cache_Data) の場合
値=キャッシュデータ
終了の場合
それ以外
Response.Write "キャッシュ設定エラー、またはキャッシュ名を空にすることはできません。キャッシュを再度更新してください。"
Response.End()
終了の場合
終了プロパティ
'指定されたキャッシュ内の値を取得します
パブリック関数 GetCacheValue(MyCacheName)
GetCacheValue = アプリケーション(キャッシュ名 & "_" & MyCacheName)
終了機能
'すべてのキャッシュ名を取得します
パブリック関数 GetallCacheName()
ディムキャッシュオブジェクト
Application.Contents の各 Cacheobj について
GetallCacheName = GetallCacheName & Cacheobj & ","
次
GetallCacheName = Left(GetallCacheName,Len(GetallCacheName)-1)
GetallCacheName = Replace(GetallCacheName,CacheName & "_","")
終了機能
'キャッシュを解放する
パブリック サブ DelCahe(MyCaheName)
アプリケーション.ロック
Application.Contents.Remove(キャッシュ名 & "_" & MyCacheName)
アプリケーション.ロック解除
エンドサブ
'すべてのキャッシュを解放します
パブリックサブRemoveAllCache()
薄暗いキャッシュリスト、私
Cachelist=Split(GetallCacheName(),",")
UBound(キャッシュリスト)>0 の場合
i=0 の場合は UBound(Cachelist) に
DelCache キャッシュリスト(i)
次
終了の場合
エンドサブ
'文字CharがStrに出現する回数をカウントする
プライベート関数 CountInStr(Str,Char)
カウントInStr = 0
ディム・アイ、チャーレン
CharLen = レン(Char)
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>"
次
それ以外
Response.「キャッシュが解放されました!!!」と書き込みます。
CachePro = Nothing を設定する
と終了
%>