Programmcode
<%
'von xilou,www.chinacms.org,20090115
'Letzte Aktualisierung: 20090115
„Änderungsdatensatz: keiner.“
CONST CACHEPREFIX = "CACHE_" 'Cache-Präfix, darf nicht leer sein
' Beschreibung:
' 1. Das Cache-Format ist Application(CACHEPREFIX & key) = array("Cache-Schlüssel", "Cache-Zeit", "Cache-Inhalt", "Cache-Beschreibung", "Ablaufzeit")
'2, beim Cache-Schlüssel wird die Groß-/Kleinschreibung nicht beachtet
'Cache hinzufügen, ohne zu prüfen, ob der Cache vorhanden ist. Wenn er vorhanden ist, entspricht dies einer Aktualisierung des Caches.
'varAry: Parameter, das Format ist: array("Cache-Schlüssel", "Cache-Zeit", "Cache-Inhalt", "Cache-Beschreibung")
'Cache-Schlüssel: das gleiche Format wie application()
'Cache-Zeit: Einheit Sekunden, kann eine negative Zahl sein, die den sofortigen Ablauf anzeigt, kann leer sein, leer oder keine Zahl, der Standardwert ist 20 Minuten Ablauf
'Cache-Inhalt: Cache-Daten, Caching von Objekten wird nicht unterstützt
'Cache-Beschreibung: Cache-Beschreibung
Funktion AddCache(varAry)
Dim c,ary(4)
Wenn nicht, IsArray(varAry), dann
Response.Write „Fehler: Parameterfehler AddCache(varAry), Parameter ist kein Array“
Response.End()
Ende wenn
Wenn UBound(varAry) <> 3 Dann
Response.Write „Fehler: AddCache(varAry)-Parameterfehler, Array-Längenfehler“
Response.End()
Ende wenn
Wenn varAry(0) = "" Dann
Response.Write „Fehler: AddCache(varAry)-Fehler, Schlüssel darf nicht leer sein“
Response.End()
Ende wenn
Wenn varAry(1) = "" oder nicht IsNumeric(varAry(1)), dann ist varAry(1) = 1200
Application.Lock()
Anwendung(CACHEPREFIX & varAry(0)) = array(varAry(0),varAry(1),varAry(2),varAry(3),DateAdd("s",varAry(1),Now()))
Application.UnLock()
Funktion beenden
'Überprüfen Sie, ob ein Cache vorhanden ist, geben Sie True zurück, wenn er existiert, andernfalls geben Sie False zurück
'key: Cache-Schlüssel
Funktion CheckCache(Schlüssel)
Dim k
Für jedes k in Application.Contents
Wenn LCase(k) = LCase(CACHEPREFIX & key) dann CheckCache = True: Funktion beenden
Nächste
CheckCache = Falsch
Funktion beenden
„Hol dir den Cache
'Ein Array im Format zurückgeben: array("Cache-Schlüssel", "Cache-Zeit", "Cache-Inhalt", "Cache-Beschreibung", "Ablaufzeit", ob es abgelaufen ist, True|False)
„Wenn es nicht vorhanden ist, tritt ein Fehler auf. Überprüfen Sie es daher mit CheckCache(key), bevor Sie es abrufen.
Funktion GetCache(Schlüssel)
App dimmen, isExp
app = Anwendung (CACHEPREFIX & Schlüssel)
isExp = Falsch
Wenn DateDiff("s",Now(),app(4)) <= 0, dann ist isExp = True
GetCache = Array(app(0),app(1),app(2),app(3),app(4),isExp)
Funktion beenden
'Cache leeren
Funktion RemoveCache(Schlüssel)
Application.Lock()
Application.Contents.Remove(CACHEPREFIX & Schlüssel)
Application.UnLock()
Funktion beenden
'Aktualisieren Sie den Cache. Wenn der Cache nicht vorhanden ist, tritt ein Fehler auf. Überprüfen Sie ihn daher vor dem Aktualisieren mit CheckCache(key).
'varAry: Parameter, das Format ist: array("Cache-Schlüssel", "Cache-Zeit", "Cache-Inhalt", "Cache-Beschreibung")
'Cache-Schlüssel: das gleiche Format wie application()
'Cache-Zeit: Einheit Sekunden, kann eine negative Zahl sein, die den sofortigen Ablauf anzeigt, kann leer sein, leer oder keine Zahl, der Standardwert ist 20 Minuten Ablauf
'Cache-Inhalt: Cache-Daten, Caching von Objekten wird nicht unterstützt
'Cache-Beschreibung: Cache-Beschreibung
'Hinweis: Wenn Sie einen bestimmten Wert von varAry nicht aktualisieren, setzen Sie den Wert einfach auf null.
' Zum Beispiel UpdateCache(array("key",null,"content",null)), was bedeutet, dass die Ablaufzeit und die Beschreibung nicht aktualisiert werden.
Funktion UpdateCache(varAry)
App dimmen
app = GetCache(varAry(0))
Wenn nicht IsNull(varAry(1)) dann app(1) = varAry(1)
Wenn nicht IsNull(varAry(2)) dann app(2) = varAry(2)
Wenn nicht IsNull(varAry(3)), dann app(3) = varAry(3)
Wenn app(1) = "" oder nicht IsNumeric(app(1)) ist, dann ist app(1) = 1200
Application.Lock()
Anwendung(CACHEPREFIX & app(0)) = array(app(0),app(1),app(2),app(3),DateAdd("s",app(1),Now()))
Application.UnLock()
Funktion beenden
„www.downcodes.com
'Cache zum Debuggen drucken
Funktion PrintCache(Schlüssel)
App dimmen,i,t
Wenn CheckCache(Schlüssel) Dann
app = GetCache(Schlüssel)
Response.Write „<pre>{“&chr(10)
Response.Write chr(32) & "cache name" & chr(32) & ":" & chr(32) & CACHEPREFIX & app(0) & chr(10)
Response.Write chr(32) & "cache key " & chr(32) & : & chr(32) & app(0) & chr(10)
Response.Write chr(32) & "cache time" & chr(32) & ":" & chr(32) & app(1) & chr(10)
Response.Write chr(32) & "Expiration time" & chr(32) & ":" & chr(32) & app(4) & chr(10)
Antwort. Schreiben Sie chr(32) & „Ist es fällig?“ & chr(32) & „:“ & chr(32) & app(5) & chr(10)
Antwort.Schreiben Sie chr(32) & "Cache-Beschreibung" & chr(32) & ":" & chr(32) & app(3) & chr(10)
'Inhalt
Response.Write chr(32) & "cached content" & chr(32) & ":" & chr(32)
t = VarType(app(2))
Wenn InStr(",0,1,2,3,4,5,6,7,8,11,",","&t&",") > 0 Dann
Response.Write-App(2)
Anders
Response.Write TypeName(app(2))
Ende wenn
Response.Write chr(10)
Response.Write „}</pre>“&chr(10)
Anders
Response.Write „Der Cache existiert nicht“
Ende wenn
Funktion beenden
'----------demo
Sub br(str)
Response.Write str & "<br />" & vbcrlf
Sub beenden
'Cache „xilou“ entfernen
'AddCache Array("xilou","",array("Dateninhalt"),"Cache-Beschreibung")
br CheckCache("xilou")
PrintCache „xilou“
App dimmen
Wenn CheckCache("xilou") Dann
app = GetCache("xilou") 'Get
UpdateCache array(app(0),null,"testsfsfsf",null)'Update
Anders
AddCache-Array („xilou“, „content“, „description“)
Ende wenn
„Dim k
'Für jedes k in Application.Contents
'br k
'Nächste
%>