Simpel caching systeem
Door Roland Mensenkamp
15 Juni 2001
Dit artikel laat zien hoe je een caching systeem kan maken met gebruik van
Application variables. Voordeel van zo een systeem is dat je een veel snellere
code krijgt want je hoeft niet steeds naar de database om de gegevens op te halen,
dit kan de performance van een site 1000 x verbeteren.
Deze functie en sub-routine zijn echt simpel en flexibel. Je kan ze
makkelijk over de hele site gebruiken, door deze simpelweg bij het bestand te voegen.
De functie 'Check' kijkt of er data in de Application variabele zit en of hij
up-to-date is.
Er gaan 3 parameters in:
T_naam = Application Timer naam
A_naam = Application naam
T_compare = Hoe lang de applicatie geen update moet uitvoeren (seconden)
De sub 'Bewaar' wordt gebruikt om de waarden in een Application variabele te bewaren.
Ook deze heeft 3 parameters:
T_naam = Application Timer naam (naam die jij eraan wilt geven)
A_naam = Application naam (naam die jij eraan wilt geven)
N_waarde = Nieuwe waarde die jij wilt bewaren in de Application variabele
Opmerking: Bewaar geen objecten in Session of Application variables!
Bepaalde soorten objecten geven grote problemen.
(zie Feiten en mythen over sessies)
cachefunc.asp
<%
Function Check(T_naam, A_naam, T_compare)
If Application (A_naam) = ""_
Or DateDiff("n", Application(T_naam), Now()) > T_compare Then
Check = True
Else
Check = False
End If
End Function
Sub Bewaar(T_naam, A_naam, N_waarde)
Application.Lock
Application(T_naam) = Now()
Application(A_naam) = N_waarde
Application.Unlock
End Sub
%>
page.asp
<!--#include file="Cachefunc.asp"-->
<%
If Check("T1", "A1", 1) Then
sNwaarde = "Met jouw nieuwe waarde"
Call Bewaar("T1", "A1", sNwaarde)
Else
Response.Write Application("A1")
End If
%>
Zoals je ziet is het vrij simpel, en echt de moeite waard, als performance
belangrijk voor je is. Natuurlijk werkt het alleen goed als de gegevens niet constant
veranderen en deze niet per gebruiker verschillen. Als de gebruikers echter niet
onmiddelijk wijzigingen hoeven te zien, dan is dit heel handig.
|