Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 25.08.2009 Skąd: Toruń / Bydgoszcz Ostrzeżenie: (10%)
|
Witam,
Chciałbym spytać jak dużą ilość danych można przechowywać w zmiennej $_SESSION i czy optymalne jest, kiedy znajduje się w niej dość dużo różnych informacji. Np. chciałbym przechowywać w sesji tablicę osiągnięć użytkownika (czyli tablica ta może składać się od 5 do nawet 100 rekordów numerycznych). Z góry dziękuję za odpowiedź. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%)
|
Dwa fakty:
1. Pomiędzy klientem (przeglądarką) a serwerem wędruje jedynie identyfikator sesji. 2. Sesja jest przechowywana po stronie serwera w pliku dzięki czemu dostęp do niej będzie szybszy niż odpytanie bazy danych. Wniosek: Możemy ładować do sesji dużo danych bez negatywnych konsekwencji. Błąd! Inne fakty: 1. Operacje na plikach także posiadają swój koszt. 2. Sesja w PHP charakteryzuje się architekturą „share nothing”. Nie jest w stanie przetrwać żądania. Wszelkie zasoby czyli zaalokowane obszary pamięci ustanowione przez PHP istnieją jedynie na czas pojedynczego żądania. Na końcu żądania zaalokowana pamięć jest czyszczona, także wszelkie połączenia są przerywane. Wniosek: Wraz z wzrostem rozmiaru sesji serwer realnie zwalnia. Sesja nie powinna przekraczać 10kb. 100kb. to wielkość dla "amatorskich" systemów z mniejszym natężeniem ruchu. Jeżeli będziesz swoje 100 rekordow wyciagał z bazy tylko tam gdzie beda one realnie potrzebne to bedzie to relatywnie lekka operacja. Jeżeli będzisz trzymal je w sesji to po stronie serwera będą one pobierane i niszczone przy KAŻDYM request a nie tylko na tych stronach na których są faktycznie potrzebne. |
|
|
|
Jazi Ilość danych w sesji 23.04.2011, 16:57:50
wookieb Sesja i tak jest przechowywana w pliku więc nie ro... 23.04.2011, 16:59:28
Jazi Czyli sesja jedynie pochłania pojemność mojego ser... 23.04.2011, 17:01:57
wookieb Różnicy czasu ładowania w ogóle nie odczujesz. To ... 23.04.2011, 17:04:16
Jazi Co znaczy "przy KAŻDYM request" ? 24.04.2011, 13:35:33
smentek "A ja myślałem, że sesja trwa do czasu zamkni... 24.04.2011, 13:38:07
Jazi A "żądanie" to odświeżenie strony, czy d... 24.04.2011, 13:40:58
smentek Cytat(Jazi @ 24.04.2011, 14:35:33 ) C... 24.04.2011, 13:42:03 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 22:22 |