Hallo,
Für meine Template-Engine möchte ich einen Cache haben. Schliesslich macht es keinen Sinn jede View neu zu verarbeiten, bzw in PHP-Code zu verwandeln.
Der Cache soll etwa so funktionieren (wie ein Cache eben funktioniert...): Es wird geguckt ob die aufzurufende View bereits gecached ist, wenn nicht wird sie in PHP-Code verwandelt welcher ausgeführt und abgespeichert wird. Wenn eine Datei sich ändert, soll auch der Cache aktualisiert werden.
Nur wie? Mir kam die Idee per md5_file() die view zu hashen und zu schauen ob eine Cache-Datei mit dem Hash als Namen existiert. Wenn nicht wird diese angelegt, wenn doch ausgeführt.
Doch das gibt einige Probleme:
1. Wenn eine Datei geändert wird, wird auch eine neue Cache-Datei erstellt. Was passiert aber dann mit der alten?
2. Ich denke nicht dass das allzu performant ist, immer den md5-Hash einer ganzen Datei zu berechnen, besonders nicht bei grossen Dateien.
Wie könnte man das also noch machen?
Danke im voraus.
greez
bitsnack
Für meine Template-Engine möchte ich einen Cache haben. Schliesslich macht es keinen Sinn jede View neu zu verarbeiten, bzw in PHP-Code zu verwandeln.
Der Cache soll etwa so funktionieren (wie ein Cache eben funktioniert...): Es wird geguckt ob die aufzurufende View bereits gecached ist, wenn nicht wird sie in PHP-Code verwandelt welcher ausgeführt und abgespeichert wird. Wenn eine Datei sich ändert, soll auch der Cache aktualisiert werden.
Nur wie? Mir kam die Idee per md5_file() die view zu hashen und zu schauen ob eine Cache-Datei mit dem Hash als Namen existiert. Wenn nicht wird diese angelegt, wenn doch ausgeführt.
Doch das gibt einige Probleme:
1. Wenn eine Datei geändert wird, wird auch eine neue Cache-Datei erstellt. Was passiert aber dann mit der alten?
2. Ich denke nicht dass das allzu performant ist, immer den md5-Hash einer ganzen Datei zu berechnen, besonders nicht bei grossen Dateien.
Wie könnte man das also noch machen?
Danke im voraus.
greez
bitsnack