Als uw gegevens op elke pagina worden gebruikt en voor alle gebruikers hetzelfde zijn, zou ik ze niet in de cache plaatsen in $_SESSION (wat betekent dat u voor elke gebruiker een andere kopie van die gegevens hebt), maar met een ander mechanisme, zoals:
- bestand
- In het geheugen, bijvoorbeeld met APC (als er maar 1 server is)
- In het geheugen, bijvoorbeeld met geheugencache (als je meerdere servers hebt)
- Als voor uw gegevens lange berekeningen of meerdere DB-query's nodig zijn, kan het cachen ervan in de database een andere mogelijkheid zijn (zou slechts 1 query kunnen terughalen en minder berekeningen)
Als uw gegevens niet voor elke gebruiker hetzelfde zijn (wat in uw situatie het geval lijkt te zijn, aangezien u namen, geboortedata, ...) opslaat :
- Ik zou ervoor zorgen dat ik alleen cache wat nodig is
- Als je maar een paar gegevens hebt om te cachen, zou het goed moeten zijn om deze in een sessie te plaatsen
- Als je echt zoveel gebruikers hebt, zul je waarschijnlijk wat andere schaalbaarheidsproblemen hebben, en zal je waarschijnlijk toch iets als memcached gaan gebruiken; wat betekent dat je een andere manier van cachen hebt;-)
Als een kanttekening:als je dezelfde query steeds opnieuw doet, moet je DB-server het zelf in de cache plaatsen (voor MySQL zou het in de "querycache "); dus het zou niet zo erg zijn als je denkt, denk ik -- zelfs als het niet zo erg geoptimaliseerd is ^^