![]() |
![]() |
![]()
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) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:24 |