Moin!
ich bin noch recht neu mit PHP und versuche z.Zt. eher grundsätzliche Konzepte für den Aufbau einer komplexeren Anwendung zu verstehen. Dazu gehört u.a. das einmalige Auslesen von z.B. globalen Variablen für eine Anwendung aus einer Datenbank und deren Verwendung in mehreren Dateien ohne jedesmal wieder eine Abfrage auf die DB absetzen zu müssen.
Dafür wären Sessions, Cookies etc. durchaus ein Weg.
ABER
Die Frage ist die, ob bei den Abrufen neue Daten oder Daten ausgeliefert werden sollen, die eine halbe Stunde alt sind. Es könnte auch vorkommen, dass dem Benutzer Daten geliefert werden, welche auf Grund zwischenzeitlicher Änderungen nicht mehr zusammenpassen:
Beispiel 1: Neuer Artikel eingefügt, taucht aber auch der Startseite nicht auf, weil in der Session gespeichert.
Beispiel 2: Artikel gelöscht, taucht aber in der Übersicht weiterhin auf, Link führt zum 404er...
Zudem sind Sessions, Cookies und dergleichen stets auf den Benutzer bezogen. Das hängt also sehr von der Aufgabenstellung ab.
Hast Du quasi-statische Inhalte (z.B. aus einem CMS) lohnt es sich über einen Cache nachzudenken. Hierzu habe ich mir schon vor einiger Zeit Gedanken gemacht. Fehlt eigentlich nur noch eine Regel für das Löschen des Caches.
Willst Du nicht wie gezeigt die Rückgaben ganzer Requests, also "Webseiten" speichern (was oft sinnvoller sinnvoller sein dürfte als dann in PHP erfolgende Operation dennoch zu wiederholen) kannst Du auch die Ergebnisse aus dem Datenbank-Request speichern, z.B. als in JSON serialisierten Array. Beachte, dass auch hier eine Regel für das Löschen des Abfrage-Caches benötigt wird.
Jörg Reinholz