Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Przechowywanie zmiennych sesji w DB, Kwestia wydajności i optymalności
Sephirus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam (IMG:style_emoticons/default/wink.gif)

Tworzę (na potrzeby projektu) trochę dziwny mechanizm trzymania sesji w bazie (wymagany przez load-balancing). Dziwny dlatego, że w niektórych kwestiach ma on działać trochę niestandardowo - ale nie o to chodzi (IMG:style_emoticons/default/smile.gif)

Mechanizm trzymania samego identyfikatora sesji w bazie oraz działanie tego skryptu jest już sprawdzone - wszystko śmiga tak jak powinno. Nie potrzebuje z tym pomocy ale...

Trapi mnie wiele pytań dotyczących sposobu przechowywania zmiennych sesyjnych w bazie, o ile z samymi identyfikatorami nie miałem problemu (pojedynczy rekord zajmuje zawsze tyle samo, odpowiedni mechanizm GC, sprawdzone wydajnościowo i jest ok) to ciągle zastanawiam się jak rozwiązać przechowywanie zmiennych w drugiej tabeli.

Otóż można przyjąć różne silniki do tego celu - MyISAM (raczej odpada), InnoDB, Memory itd.. - każde ma swoje plusy i minusy, dodatkowo pojawia się pytanie czy serializować zmienne sesji przy wrzucaniu do bazy i deserializować przy odczycie - da to możliwość zapisywania w sesji obiektów i tablic. Bez tego wydajniejsze to będzie ale sesja ograniczy się do trzymania ciągów znaków i liczb. W przypadku MEMORY też jest problem gdyż trzeba założyć ile te dane będą zajmować (nie obsługuje typów o nieokreślonym rozmiarze)... no i właśnie... mam mętlik w głowie (IMG:style_emoticons/default/smile.gif)

Pomożecie? Jak wy byście to zrobili (chodzi mi w zasadzie o sam koncept tabeli/bazy pod tą sesje)? Może spotkaliście się z jakimś wydajnym rozwiązaniem albo z jakimś bardzo niewydajnym i możecie coś polecić/odradzić (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:24