2012-04-22 14 views
10

Jaka jest różnica między przechowywaniem sesji w pliku iw bazie danych?Różnica między sesją w pliku iw bazie danych

+7

Dlaczego ludzie decydują się na zamknięcie tego? To nie jest złe pytanie, jeśli nie znasz odpowiedzi. –

+1

Ponieważ nikt nie jest w stanie odgadnąć, o co chodzi w PO. Jaki rodzaj "sesji"? Jaka baza danych? – bmargulies

+1

Myślę, że ludzie zamknęli to pytanie, aby indeksować SE, a także czuć się ważnym. Ego jest bestią, która nieustannie potrzebuje karmienia, prawi faceci? To jest poprawne pytanie. – Jeffz

Odpowiedz

14

Podstawową różnicą jest to, że pobieranie informacji o sesji z bazy danych może być nieco szybsze niż z systemu plików. Jest to częściowo spowodowane buforowaniem bazy danych, ale także dlatego, że jeśli istnieje duża liczba plików sesji, system plików może nie radzić sobie z nim. Większość systemów plików zaczyna się pogarszać, gdy w jednym katalogu znajduje się kilka tysięcy plików, podczas gdy bazy danych nie napotykają tego problemu.

Do innych powodów należą drobnoziarniste zabezpieczenia, replikacja i/lub sharding, z których wszystkie to mięso i ziemniaki dla DBMS, ale nie dla systemów plików.

Jeśli masz tylko kilka sesji, nie ma to znaczenia, ale kiedy jest 10 000 lub 10 000 000 sesji, to na pewno.

+3

Ta odpowiedź jest dowodem, że jest to przynajmniej "prawdziwe pytanie". Na pewno można "odpowiedzieć rozsądnie w obecnej formie". – bfavaretto

+0

Nie. Ta odpowiedź odzwierciedla użycie tablicy ouija w celu magicznego określenia faktycznej treści pytania. – bmargulies

+9

@bmargulies: Ouija board? Poważnie? OP nie pytał o to, czym jest sesja *, ani jak * użyć * sesji, zastanawiał się, dlaczego niektóre witryny używają plików do przechowywania informacji o sesji, a inne używają DMBS. Biorąc pod uwagę, że zawartość sesji nie różni się w zależności od jej metody przechowywania, jedyną możliwą interpretacją jego wniosku, którą mogłem zobaczyć, były względne korzyści jednej metody względem drugiej. –