710 Stimmen

HTML5 Local Storage vs. Sitzungsspeicher

Abgesehen davon, dass es nicht persistent ist und nur für das aktuelle Fenster gültig ist, gibt es weitere Vorteile (Leistung, Datenzugriff usw.) von der Session Storage im Vergleich zur Local Storage?

19 Stimmen

@robert - Ich glaube, du liegst falsch. Aus w3.org/TR/webstorage ist sessionStorage auf den "top-level Browsing-Kontext" beschränkt, was bedeutet, dass es für jeden Browser-Tab/Fenster einzigartig ist. localStorage ist jedoch auf den Ursprung beschränkt, was bedeutet, dass es für alle Seiten mit demselben Ursprung gemeinsam genutzt wird.

6 Stimmen

5 Stimmen

9voto

  • sessionStorage verwaltet einen separaten Speicherbereich für jeden Ursprung, der während der Dauer der Seitensitzung verfügbar ist (solange der Browser geöffnet ist, einschließlich Seitenumladungen und -wiederherstellungen)

  • localStorage tut dasselbe, aber besteht auch fort, wenn der Browser geschlossen und wieder geöffnet wird.

Ich habe das von Web Storage API übernommen

8voto

cc young Punkte 17283

Leistungsmäßig habe ich (grobe) Messungen keine Unterschiede bei 1000 Schreib- und Lesevorgängen festgestellt

In Bezug auf die Sicherheit würde es intuitiv erscheinen, dass der localStore möglicherweise vor dem sessionStore geschlossen wird, aber ich habe keine konkreten Beweise - vielleicht hat jemand anderes welche?

Funktional stimme ich digitalFresh zu

1 Stimmen

In Bezug auf die Seitenladeleistung: Sowohl sessionStorage als auch localStorage werden außerhalb des Seitenlade-Renderzyklus initialisiert und befüllt. Daher ist die Belastung für die initiale Seitenladezeit innerhalb des Browsers nicht messbar.

6voto

Bhargavi Punkte 71

Ja, Session Storage und Local Storage verhalten sich gleich, außer dass Local Storage die Daten speichert, bis der Benutzer den Cache und die Cookies löscht, während die Session Storage-Daten im System erhalten bleiben, bis wir die Sitzung schließen, d.h. bis wir das Session Storage erstellte Fenster schließen.

6voto

avvett Punkte 61

Der Vorteil des Session-Speichers gegenüber dem lokalen Speicher ist meiner Meinung nach, dass er in Firefox eine unbegrenzte Kapazität hat und nicht länger als die Sitzung bestehen bleibt. (Natürlich hängt das davon ab, was Ihr Ziel ist.)

4voto

Ganesh Punkte 5313

Späte Antwort, aber hier sind einige Punkte, die hinzugefügt werden sollen.

Session-Speicher ist nur für einen bestimmten Tab verfügbar, während wir den lokalen Speicher im gesamten Browser verwenden können. Beide sind standardmäßig auf den gleichen Ursprung beschränkt, und wir können auch Werte manuell mit Schlüssel-Wert-Paaren speichern (der Wert muss ein String sein).

Einmal ein Tab (Sitzung) des Browsers geschlossen wird, wird der Session-Speicher auf diesem Tab gelöscht, während wir im Falle des lokalen Speichers ihn explizit löschen müssen. Maximale Speichergrenze beträgt jeweils 5MB und 10MB.

Wir können die Daten wie folgt speichern und abrufen:

Zum Speichern:

sessionStorage.setItem('id', noOfClicks);   // localStorage.setItem('id', noOfClicks);

sessionStorage.setItem('userDetails', JSON.stringify(userDetails));   // falls es sich um ein Objekt handelt

Zum Abrufen:

sessionStorage.getItem('id');    // localStorage.getItem('id');

User user = JSON.parse(sessionStorage.getItem("userDetails")) as User;  // falls es sich um ein Objekt handelt

Zum Ändern:

sessionStorage.removeItem('id');    // localStorage.removeItem('id');

sessionStorage.clear();   // localStorage.clear();

N.B: getItem() gibt auch die Daten als String zurück, und wir müssen sie in JSON-Format umwandeln, um darauf zuzugreifen, falls es sich um ein Objekt handelt.

Sie können hier mehr über Browser-Speicher lesen..

  1. Unterschied zwischen localStorage, sessionStorage und Cookies

  2. localstorage-vs-sessionstorage

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X