W jaki sposób digg lub inne sesje użytkowników sklepu internetowego o dużym natężeniu ruchu? Do czego służą do przechowywania sesji użytkowników? System plików, DB (który?), Memcache lub oba?Jak strony digg (lub inne witryny o dużym obciążeniu) przechowują sesje użytkownika?
Wyobraźmy sobie prostą sytuację. Zalogowany użytkownik ustawił flagę "Zapamiętaj mnie" podczas logowania. Ustawiliśmy plik cookie sesji z datą wygaśnięcia 1 rok. Na przykład utrzymujemy sesję w memcache, ale powinniśmy również zachować zapis tej sesji w DB (w mojej wersji). Tylko użytkownicy z flagą "Zapamiętaj mnie" są zapisani w DB. Czy jest to właściwy sposób przechowywania sesji? Mam na myśli strony o dużym ruchu, oczywiście (z 2 lub więcej serwerami aplikacji, 2 lub więcej bazami danych, serwerami memecache itp.). W małych witrynach przechowywanie sesji metodą domyślną (w systemie plików) jest w porządku.
Próbowałem wyszukać google, ale nie udało mi się znaleźć żadnych informacji na jego temat. Czytałem niektóre rozwiązania z książki "Zaawansowane programowanie PHP", ale główny nacisk został położony na dostosowanie sesji obsługi sesji.
Naprawdę mam nadzieję usłyszeć dobre pomysły lub linki!
Dziękuję.
Tak, rozumiem, ale co długotrwałego przechowywania sesji? Co z sytuacją, gdy użytkownik oznaczył pole wyboru "Zapamiętaj mnie"? Oznacza to, że powinienem przechowywać tę sesję nie tylko w memcache (nie mogę przechowywać danych sesji użytkownika w memcache od tygodni) ... ... a może używają innego mechanizmu "zapamiętaj mnie"? Dziękujemy! – Kirzilla
Możesz przechowywać sesje w bazie danych, gdziekolwiek indziej i używać memcached. Nikt nie zabrania ci tego robić. Co się dzieje, to powiedzmy, że kiedy "wrócisz", zostaniesz "zapamiętany" przez wywołanie bazy danych (lub wywołanie casandra linii płaskiej), więc chache będzie tęsknić, ale z następnego żądania pamięć podręczna wykona zadanie. Jeśli jesteś w pełni "zapomniany", obie zwrócą się źle. –
To jest dokładnie to, co chciałem usłyszeć. Dziękujemy! – Kirzilla