Session Daten in Datenbank speichern

Katzenbauer

Erfahrenes Mitglied
Ich habe davon gehört, dass es effektiver ist Session Daten nicht "normal" zu speichern sondern z.B in eine schnelle heap mysql Tabelle zu schreiben. Vorteile scheinen auf der Hand zu liegen: Eine Heap Tabelle sollte schneller sein als, wenn php sich das aus seinen Cache Dateien holen muss.

Wie macht man das nun? $_SESSION nur zum speichern einer ID benutzen und alles andere was man sonst reinschreiben würde in die DB und anhand der gespeicherten id wieder rausziehen bei jedem Aufruf?

Lohnt sich das wirklich oder nur, wenn man wirklich viel in den Sessions speichern würde oder macht sich das auch bei wenig Daten bemerkbar, wenn man nur genug Aufrufe hat? Meist speichere ich sowieso nur wenige Daten also nur ein paar ids un hole den Rest immer wieder aus der DB und fülle damit lokale Variablen, damit sich eventuelle Änderungen in der DB auch während der Session noch auswirken.
 
Mit der session_set_save_handler()-Funktion ist es möglich, die Sitzungsverwaltung selbst zu übernehmen.
Ob eine datenbankgestützte Verwaltung jedoch schneller ist, weiß ich nicht. Bei Anbietern, bei denen man sich das Temporärverzeichnis mit anderen teilt, ist es jedoch ein Sicherheitsvorteil, die Sitzungsverwaltung selbst zu übernehmen, da es sonst zu Session Hijacking kommen kann, wenn zwei Benutzer dieselbe Sitzungs-ID bekommen.
 
Zurück