AppCache er en del av asplib1.2 og kildekoden ligger i ~/asplib1.2/core/cache.asp http://svn.asplib.org/asplib1.2/core/cache.asp
Merknader
AppCache er globalt og er dermed felles for alle sessions / brukere – spesielt hensyn må taes ved caching av brukertilpassede data.
AppCache ligger i global namespace. I tillegg benyttes et server object i application scope AppCacheStore som må defineres i ~/global.asa slik:
<object
id="AppCacheStore"
progid="Scripting.Dictionary"
scope="application"
runat="server">
</object>
API
AppCache definerer følgende metoder for å lese/skrive/tømme cache:
Get (key, ttl, obj, context)
Leser / skriver data til AppCacheStore.
Key angir en unik streng som identifiserer dataene.
TTL angir Time To Live i sekunder. (1 time = 3600, 1 døgn = 86400)
Obj angir objekt / variabel / funksjon som skal lagres. Håndtering av funksjonsvariabler er spesielt tilrettelagt for forenklet syntaks og bruk av AppCache.
Context angir hvilken context / scope som skal benyttes for å kalle funksjonsvariabler.
Eksempel – funksjonsvariabel
Den mest nyttige måten å benytte AppCache er ved å benytte funksjonsvariabler. Ved å benytte en anonym lambda funksjon kan man ha hele logikken for å generere, lagre og hente data i samme kall.
var content = AppCache.Get(”mycontent”, 3600, function() {
return someObject.generateHtmlFromDatabase(); });
Get kan kalles kun med parameteren key for å kun lese. Dette er nyttig dersom man ikke ønsker å benytte funksjonsvariabler men heller skrive innholdet manuelt på andre tidspunkter.
Set (key, ttl, obj, context)
Skriver data til AppCacheStore.
Identisk med Get, men returnerer ikke data.
Age (key, ttl)
Oppdaterer Expires egenskapen til angitt oppføring i AppCacheStore med en ny TTL.
Query (key)
Henter angitt oppføring fra AppCacheStore.
Objektet som returneres har følgende egenskaper:
Value – dataene som er lagret. Expires – tidspunkt elementet utløper, tilsvarende Date().valueOf(). Hits – antall treff elementet har hatt siden det ble sist skrevet.
Clear (key)
Sletter angitt oppføring fra AppCacheStore.
Clear ()
Sletter samtlige oppføringer fra AppCacheStore.
Ingen kommentarer:
Legg inn en kommentar