Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sens składowania sesji w bazie
Forum PHP.pl > Forum > PHP
starach
Witam.
Jak to powinno być jednak na hydepark'u to błagam nie bijcie tongue.gif

Zachciało mi się rozbudować klasę obsługi sesji, ponieważ wymagało to rozwiązanie które przyjąłem.
Jednak po namyśle doszedłem do wniosku że gryźć się to będzie z zasadami obiektowości.
( W końcu to z obiektu pobiera się dane a ten pobiera skąd pobiera i nie interesuje nas to )
Więc po diabła to składować w bazie danych, skoro z punktu widzenia wydajności pliki są lepsze?
Cysiaczek
Już kiedyś był podobny temat,
Jest sens, jeśli na bieżąco monitorujesz stan sesji użytkowników np. dla celów marketingowych - łatwiej jest się dobrać do danych z bazy niż do pliku. Inną zaleta trzymania w bazie jest łatwiejsze składowanie wszelkich logów.
Zważ na to, że jeśli masz się łaczyć z bazą tylko po to, aby zapisać/odczytać sesję, to pomysł jest do bani. Jednak lwia część www to teraz aplikacje bazodanowe, więc jedno, czy nawet 20 zapytań więcej na request nie robi wielkiej różnicy - i tak masz ustanowione połączenie.

Pozdrawiam.
starach
No ja właśnie modernizować chciałem klasę Session pod kątem statystyk,
ale doszedłem do wniosku że do statystyk powinna być odrębna tabela jeśli nawet nie dwie.
Przy każdorazowym wywołaniu strony uruchamiana by była owa biblioteka zbierająca dane o użytkowniku,
przykładowo śledziłaby w jakiej kolejności klika w linki czyli przechowywała by kolejność odwołań do podstron.

Trzymanie takich danych w sesji wydaje mi się że jest niezgodne z ideą obiektowości.
edit>
ale z drugiej strony w takim razie co można w niej trzymać ? tongue.gif
Proszę wyraźcie swoje opinie. To jest jakaś godzina pisania i nie chciałbym jej bezsensownie zmarnować.
wrzasq
prosta sprawa - policz otwarte sesje (czyli w prostej interpretacji - aktualnie aktywnych juzerow) smile.gif.

chyba najbardziej banalny przyklad... im wiecej sam kontrolujesz tym wiecej potrafisz z tego wykrzesac winksmiley.jpg.

oczywiscie moglbys przy otwieraniu sesji dodatkowo zapisywac jakis redkord, lub samo pole w bazie danych, ale skoro i tak musisz to zrobic, to mozesz calosc przenisc do bazy danych - zamiast kombinacji zapytanie + operacja na pliku sprowadzisz sie do jednego tylko zapytania, a jednoczesnie uzyskasz wszelkie info jakie chciales.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.