lulu: Caching-Mechanismen für dyn. erzeugte Webseiten

Huhu Forumaniacs

folgende Überlegungen beschäftigen mich gerade:

Angenommen ich habe eine dyn. generierte Website z.B. mit PHP+MySQL.
Jetzt setze ich noch das rewrite_modul des Apache ein, dann könnte ich ja theoretisch eine komplette Website mit einer einzigen Skript-Datei erzeugen.

Z.B.

www.meine-seite.de/bereich1/thema2/irgendwas.html
www.meine-seite.de/bereich1/thema5/wasanderes.html
www.meine-seite.de/bereich2/thema1/diesesundjenes.html

würde alles auf ein PHP-Skript (z.B. /index.php) umgeleitet, die REQUEST_URI in Variablen übersetzt und daraus eine SQL-Anfrage erzeugt die den entsprechenden CONTENT aus der DB zieht und alles in ein TEMPLATE steckt usw.

Das funktioniert so auch, aber bei höherem Traffic auf der WebSite dürfte das dann doch deutlich langsamer sein als statische Seiten, da diese ja keine SQL-Abfragen und Parsing benötigen.

Jetzt habe ich mich bei diversen Open-Source-CMS (PHP) umgeschaut und bin da des öfteren auf Begriffe wie "intelligentes Caching" o.ä. gestossen, habe es aber noch nicht so recht begriffen wie das funktionieren soll.

Daher einige Fragen bzw. Spekulationen meinerseits.
Würde mich freuen (wie ein Würstchen) wenn Ihr euren Senf dazugeben würdet. ;-)

Ich stelle mir das z.Zt. so vor:

Die Seiten werden dynamisch erzeugt, dann als statische Seite abgelegt und mit einem wie auch immer geartetem Mechanismus versehen, der bei Bedarf eine aktuellere Version der Seite anfordert.

Was mir dazu einfällt:
 - z.B. ein CRON-Job schreibt jede Nacht die komplette Site neu (nicht besonders intelligent)
 - es wird in jede Seite ein 'Haltbarkeitsdatum' eingefügt, das bei Aufruf geprüft wird und dann ggf. dafür sorgt, dass die Seite nicht nur "aufgewärmt" (durchgereicht), sondern "frisch gepresst" wird. (schon besser)

  • Das CMS prüft bei Änderungen am Content in welchen Seiten dieser Auswirkungen hat und schreibt diese dann neu. (etwas schlauer?)

Hui, das war es auch schon was mir dazu im Moment einfällt :-(

(intelligence quota exceeded)

Viele Grüße

lulu

  1. Hi lulu,

    • Das CMS prüft bei Änderungen am Content in welchen Seiten
      dieser Auswirkungen hat und schreibt diese dann neu. (etwas
      schlauer?)

    Genau so macht das unser CMS (wurde von unserem Provider selbst geschnitzt).
    Wenn Änderungen am Template oder den Inhalten durchgeführt werden, so löscht das CMS alle betroffenen Seiten.
    Will dann ein Anwender auf eine der - dann nicht mehr existierenden -Seiten, so werden sie vom CMS neu generiert und stehen damit bis zur nächsten Änderung als statische Seiten zur Verfügung.
    Außerdem hat das CMS noch eine Funktion um alle Seiten aus dem Cache zu löschen.

    Gruß und schönes WE
    Thomas

  2. Hi, lulu

    Ich halte es auch für den absoluten Overkill, alles auf dynamischen Seiten aufzubauen, wenn sich der Inhalt nur selten ändert. Als einfache Alternative könnte ich mir vorstellen, die gesamte Site nur auf dem lokalen Testserver dynamisch erstellen zu lassen und dann mit einem Sitegrabber in eine statische Version umzuwandeln. Diese Kopie kannst du dann mit deinem in freier Wildbahn stehenden Server synchronisieren.

    LG Orlando