Jakiś czas temu nie w PHP, ale w ASP.NET robiłem jedną większa aplikację i tam w sesji trzymałem dość dużą ilość danych, podobnego rzędu i działało to bardzo sprawnie. Idea sesji w ASP.NET i w PHP jest ta sama, więc moim zdaniem warto tak zrobić, jeżeli chcesz odciążyć bazę danych.
Jednakże, dla wygody i łatwiejszego utrzymania, zamiast wprowadzać różne obiekty do sesji, lepiej utworzyć klasę obiektu np. o nazwie AppSession
i w sesji przechowywać jeden obiekt tej klasy. Przy uruchamianiu skryptu korzystającego z sesji wykonasz działanie (mogę się mylić, bo nie mam dużego doświadczenia w PHP, ale myślę, że sens tego pseudokodu będzie zrozumiały):
class AppSession
{
// Tu okreslasz, co ma być w sesji
}
function GetAppSession()
{
if (isset($_SESSION["AppSession"]))
{
return = $_SESSION("AppSession");
}
else
{
$Temp = new AppSession();
$_SESSION("AppSession") = $Temp;
return $Temp;
}
}
// W tym miejscu cała sesja jest w polu $AppSession_
$AppSession_ = GetAppSession();
W samej klasie AppSession dodajesz pola i metody tak samo, jak w każdej innej klasie, można to traktować, że obiekt $AppSession_
jest jedynym obiektem dostępnym cały czas w jednym i tym samym egzemplarzu.