lulu: /MySQL: DB-Connection auch bei Last sicherstellen

Beitrag lesen

Hi Eddie,

Dann kannst Du noch serverseitige Cache-Mechanismen einsetzen.

Mmmh, prinzipiell muss ich doch nur den Code als HTML-Datei speichern und bei jeder Aktualisierung loeschen, oder?
Das ist wirklich ueberfaellig, mal ueberlegen, wie ich das am geschicktesten mache.

Angenommen Du hast eine dynamisch erzeugte Seite, dann kann man das z.B. ungefähr so lösen:

1. Alle für den Request relvanten Parameter in einen String stecken.
Im einfachsten Fall ist das nur die angeforderte URI.

2. Von diesem String den md5-hash berechnen, das ist der Cache-Dateiname für diesen Request

3. Gucken ob zu diesem Dateinamen bereits eine Datei existiert.

4.a) Wenn ja, diese Datei direkt ausliefern (z.B. mit readfile() oder fpassthru())

4.b) Wenn diese Datei nicht existiert dann neu erzeugen, im Cache-Verzeichnis speichern und ausliefern

Das ist es im wesentlichen schon.

Jetzt musst Du Dir noch Regeln überlegen nach denen der Cache aktualisiert/ bzw. als veraltet angesehen wird.

Z.B.

  • modification time der Cache-Datei
  • modification time der Datenbank
  • wenn es ein POST-Request ist dann nie cachen
  • ggf. Datumsgrenze berücksichtigen (wenn man z.B. täglich wechselnde News hat)
  • bestimmte Seiten generell ausnehmen, z.B. Fehlermeldungen etc.

Am besten auch einen last-modified header mitschicken, dann kann man ggf. einen Request direkt mit 304 beantworten.

Viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday