• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pytania o zmienne sesyjne

Object Storage Arubacloud
0 głosów
479 wizyt
pytanie zadane 29 listopada 2015 w PHP przez demotywatorking Obywatel (1,210 p.)
Mam kilka pytań dotyczących zmiennych sesyjnych w PHP.

Piszę swoją jakby to nazwać 'pseudogrę' internetową. Raczej popularności ona nie zdobędzie, ale na wszelki wypadek o te zmienne sesyjne zapytam.

1.Gdzie są zpisywane zmienne sesyjne? Nie mogłem nigdzie znaleźć odpowiedzi.

2.Powiedzmy, że na ten moment mam około 70 takich zmiennych na osobę. Jak ilość zmiennych sesyjnych ma się do działania przy kilkunastu - kilkuset osób zalogowanych na raz? Czy to jest dużo, czy w ogóle nie zawracać sobie głowy ilością tych zmiennych?

3.Jeśli jednak jest problem ze zmiennymi sesyjnymi, to może lepiej usunąć te zmienne i zamiast nich przy każdym przeładowaniu strony pobierać od nowa dane z bazy mysql?

2 odpowiedzi

+1 głos
odpowiedź 29 listopada 2015 przez Comandeer Guru (601,110 p.)
ad. 1) Zależy od ustawień. Domyślnie są zapisywanie w plikach w folderze tymczasowym (więcej info: http://php.net/manual/en/session.configuration.php#ini.session.save-path )

ad. 2) IMO tego typu problemy rozwiązuje się, gdy się je napotka. Takie gdybanie w chwili, gdy nie masz ani jednego usera, raczej nie prowadzą gdziekolwiek.

ad. 3) To brzmi jak bardzo dobry sposób na zajechanie bazy danych ;) Niemniej sesje w PHP pozwalają napisać własne handlery pod nie.
Hint: jeśli chcesz obsługi bazy danych, to szedłbym w tabele MEMORY w MySQL albo w Redisa/memcached
komentarz 30 listopada 2015 przez demotywatorking Obywatel (1,210 p.)
1. Dzięki teraz wszystko jasne, nie mogłem nigdzie znaleźć tej informacji albo źle szukałem.

2.Czyli rozumiem, że dopóki nie ma problemów, to nic z tymi zmiennymi nie robić? Może to i dobre rozwiązanie, bo jakbym się za to wziął, to pewnie by się posypała masa błędów ;)

3.Mógłbyś napisać coś więcej o tych tabela MEMORY, bo nigdy o tym nie słyszałem wcześniej?
komentarz 30 listopada 2015 przez Comandeer Guru (601,110 p.)
To zwykłe tabele, tyle że są trzymane w pamięci RAM serwera, a nie na dysku.
0 głosów
odpowiedź 30 listopada 2015 przez writen Nałogowiec (29,060 p.)

70 zmiennych sesyjnych? Każdą pojedyńczą informację trzymasz w osobnej zmiennej? Nie lepiej serializować takie dane i trzymać góra w kilku zmiennych?

ad. 3) To brzmi jak bardzo dobry sposób na zajechanie bazy danych ;)

No nie przesadzajmy. Są to raczej same informacje o użytkowniku i innych związanych z nim rzeczami, więc wyciągnięcie tego to kwestia jednego zapytania. Nie miałoby to żadnego poważnego wpływu na pracę serwera.

komentarz 30 listopada 2015 przez Comandeer Guru (601,110 p.)
Nie miałoby, dopóki nie mielibyśmy dużo sesji równocześnie.
komentarz 30 listopada 2015 przez writen Nałogowiec (29,060 p.)
Trzymanie wszystkich danych w sesjach nie ma sensu. Dane należy pobrać tam, gdzie aktualnie są potrzebne. Jeśli potrzebne są wszędzie, to pobieramy te dane w głównym kontrolerze i są one widoczne wszędzie. To jedno zapytanie, nawet przy kilkuset użytkownika, nie robi wielkiej różnicy.

Problemem tutaj może być źle napisane zapytanie, a nie to że za każdym odświeżeniem będzie ono wykonywane.

Podobne pytania

0 głosów
1 odpowiedź 226 wizyt
pytanie zadane 16 lipca 2017 w PHP przez sapero Gaduła (4,100 p.)
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 14 listopada 2022 w PHP przez zbiku25 Bywalec (2,940 p.)
0 głosów
1 odpowiedź 352 wizyt
pytanie zadane 21 maja 2018 w PHP przez szachovy Początkujący (270 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...