Permanenter Cache

ichhabenicht

Mitglied
Hallo,

ich bin gerade in einen Gedankenstrudel geraten und komme alleine nicht mehr raus, vielleicht könnt ihr mir ja helfen etwas Klarheit rein zu bringen. Ich schilder das ganze mal anhand eines Forum, es läßt sich aber auf alles mögliche übertragen.

Nehmen wir mal an ein Thread ist alt und wird nurnoch aufgerufen und nicht mehr verändert, muß aber trotzdem jedes Mal generiert werden. Warum speichert man den nicht einfach als "Cache" ab und gibt die fertige HTML jedes Mal wieder, anstelle zur Datenbank zu gehen und die ganzen Sachen zu holen, dann noch die User zu überprüfen und die ganze Prozedur halt jedes Mal zu durchlaufen.

Man könnte doch beim ersten Aufruf von einem Thread das generierte Ergebnis abspeichern, zB als md5(threadID).cache.dat oder so und die Datei dann jedes Mal abrufen wenn die ID wieder aufgerufen wird. Wenn nun jemand was zu dem Thread dazu schreibt, wird die Cache Datei einfach gelöscht, so ist die Aktuelität gewährleistet.

Ihr seht bestimmt an meinem Text, wie verwirrt ich bin :D

Bin auch eure Kommentare gespannt.

MfG ichnicht
 
Moin,

so ungewöhnlich ist dein Gedanke garnicht, das wird öfters praktiziert, als du vielleicht denkst.

Auch hier im Forum werden bestimmte Sachen gecachet, um die DB zu entlasten.

Ein ganzes Forum zu cachen ist jedoch eher kontraproduktiv, mal tutorials.de als Beispiel, wenn du hier ein Thema ansiehst, gibt es in der Seite ja abgesehen vom Thema selbst immer noch dynamische Bestandteile, welche sich stellenweise im Sekundentakt änden(bspw. die neuesten Beiträge oben).

Der Hauptgesichtspunkt ist bei soetwas das Verhältnis zwischen lesenden und schreibenden Zugriffen, bei vielen Schreibzugriffen, wie in einem Forum üblich, würde so zusätzlich zum Schreiben in die DB noch das Schreiben ins Dateisystem hinzukommen, was nicht ohne ist.

Aber für weniger änderliche Inhalte, welche oft gelesen werden, macht soetwas unbedingt Sinn.
 
Hast du da vielleicht Lesetipps für mich? Ich habe mir zwar den Wikieintrag zu Cache allgemein angesehen, aber irgendwie verstehe ich nicht wie man sowas überhaupt in PHP umsetzen soll.
 
Ich hatte da mal eine Caching Klasse angefangen und benutze diese auch in einem Projekt... Ist allerdings nicht besonderes und minimal gehalten.

Flex Cache 1.0
 
Zurück