Wenn Ihre Daten auf allen Seiten verwendet werden und für alle Benutzer gleich sind, würde ich sie nicht in $_SESSION zwischenspeichern (was bedeutet, dass für jeden Benutzer eine andere Kopie dieser Daten vorhanden ist), sondern mit einem anderen Mechanismus, wie :
- Datei
- Im Speicher, zum Beispiel mit APC (wenn nur 1 Server)
- Im Speicher, zum Beispiel mit memcached (wenn Sie mehrere Server haben)
- Wenn Ihre Daten lange Berechnungen erfordern oder mehrere DB-Abfragen abgerufen werden müssen, könnte das Zwischenspeichern in der Datenbank eine weitere Möglichkeit sein (würde nur 1 Abfrage zurückholen und weniger Berechnungen bedeuten)
Wenn Ihre Daten nicht für jeden Benutzer gleich sind (was in Ihrer Situation der Fall zu sein scheint, da Sie Namen, Geburtsdaten usw. zwischenspeichern) :
- Ich würde sicherstellen, dass ich nur das Zwischenspeichere, was notwendig ist
- Sobald Sie nur wenige Daten zwischenspeichern müssen, sollte es in Ordnung sein, sie in die Sitzung zu versetzen
- Wenn Sie wirklich so viele Benutzer haben, werden Sie wahrscheinlich einige andere Skalierbarkeitsprobleme haben und höchstwahrscheinlich sowieso so etwas wie memcached verwenden; was bedeutet, dass Sie eine andere Art des Cachings haben werden;-)
Als Nebenbemerkung:Wenn Sie immer wieder dieselbe Abfrage durchführen, sollte Ihr DB-Server sie selbst zwischenspeichern (für MySQL würde sie in den "Abfrage-Cache "); also wäre es nicht so schlimm, wie Sie denken, nehme ich an -- auch wenn nicht so sehr optimiert ^^