HTML5 Lokale opslag versus sessieopslag

Zijn er behalve dat het niet-persistent is en alleen gericht is op het huidige venster, voordelen (prestaties, gegevenstoegang, enz.) voor Session Storage ten opzichte van Local Storage?


Antwoord 1, autoriteit 100%

localStorageen sessionStorageverlengen beide Opslag. Er is geen verschil tussen hen, behalve de beoogde “niet-persistentie” van sessionStorage.

Dat wil zeggen, de gegevens die zijn opgeslagen in localStorageblijven bestaan totdat ze expliciet worden verwijderd. Aangebrachte wijzigingen worden opgeslagen en zijn beschikbaar voor alle huidige en toekomstige bezoeken aan de site.

Voor sessionStoragezijn wijzigingen alleen per tabblad beschikbaar.Aangebrachte wijzigingen worden opgeslagen en zijn beschikbaar voor de huidige pagina op dat tabbladtotdat het is gesloten. Zodra het is gesloten, worden de opgeslagen gegevens verwijderd.


Antwoord 2, autoriteit 19%

Het enige verschil is dat localStorage een andere vervaltijd heeft, sessionStoragezal alleen toegankelijk zijn terwijl en door het venster dat het heeft gemaakt, open is.
localStorageblijft bestaan totdat u het verwijdert of de gebruiker het verwijdert.
Stel dat u een login-gebruikersnaam en -wachtwoord wilt opslaan die u om veiligheidsredenen sessionStorageover localStoragewilt gebruiken (bijv. een andere persoon die op een later tijdstip toegang heeft tot zijn account) .
Maar als u de instellingen van een gebruiker op hun computer wilt opslaan, wilt u waarschijnlijk localStorage. Al met al:

localStorage– gebruik voor langdurig gebruik.
sessionStorage– Gebruik wanneer u iets moet opslaan die wijzigingen of iets tijdelijk wijzigen


3, Autoriteit 12%

Weinig andere punten die nuttig kunnen zijn om verschillen tussen lokale en sessie-opslag

te begrijpen

  1. Zowel lokale opslag- als sessieopslag worden verplaatst naar documentafherking, dus

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    Alle bovenstaande URL’s wil niet delen dezelfde opslag. (Let op pad van de webpagina heeft geen invloed op de webopslag)

  2. SESSIE-opslag is anders, zelfs voor het document met hetzelfde oorspronkelijke beleid in verschillende tabbladen, zo dezelfde webpagina open in twee verschillende tabbladen kan niet hetzelfde delen Sessie-opslag.

  3. Beide lokale als sessie-opslag worden ook verleid door browserverkopers . Dus opslaggegevens die door IE zijn opgeslagen, kunnen niet worden gelezen door Chrome of FF.

Ik hoop dat dit helpt.


4, Autoriteit 2%

sessionStorageis hetzelfde als localStorage, behalve dat het de gegevens voor slechts één sessie opslaat, en deze wordt verwijderd wanneer de gebruiker het browservenster dat het heeft afgeschaft .


5

Performance wijs, mijn (ruwe) metingen gevonden Geen verschil op 1000 schrijft en leest

Veiligheidsgewijs, intuïtief lijkt het lijken dat de localStore kan worden uitgeschakeld voor de sessionstore, maar geen concreet bewijsmateriaal hebben – Misschien wel?

Functionele wijze, Overeenvatten met DigitalFresh boven


6

YA Session Storage en lokale opslag zijn hetzelfde in gedrag, behalve een die lokale opslag is, zal de gegevens opslaan tot en tenzij de gebruiker de cache en cookies en sessie-opslaggegevens in het systeem behouden, totdat we de sessie i, e, behouden Totdat we het aangemaakte venster Sessie-opslag sluiten.


7

Het voordeel van de sessie-opslag boven lokale opslag, naar mijn mening, is dat het heeft Unlimited Capacity in Firefox, en zal niet langer blijven bestaan ​​dan de sessie. (Natuurlijk hangt het af van wat je doel is.)


8

  • sessionStorageBehoudt een afzonderlijk opslagruimte voor elke gegeven oorsprong die beschikbaar is voor de duur van de paginasessie (zolang de browser open is, inclusief pagina opnieuw geladen en herstelt)

  • localStoragedoet hetzelfde, maar blijft bestaan, zelfs wanneer de browser wordt gesloten en opnieuw geopend.

Ik heb dit overgenomen van Web Storage API


Antwoord 9

Laat antwoord, maar ik had het gevoel hier wat punten toe te voegen.

Sessieopslag zal beschikbaar zijn voor specifieke tabbladen waar we lokale opslag kunnen gebruiken via de browser. Beide hebben standaard dezelfde oorsprong en we kunnen waarden ook handmatig opslaan met sleutel-, waardeparen (waarde moet een tekenreeks zijn).

Zodra het tabblad (sessie) van de browser is gesloten, wordt Sessieopslag gewistop dat tabblad, waar we in het geval van lokale opslag wis het expliciet. Maximale opslaglimiet respectievelijk 5MBen 10MB.

We kunnen de gegevens opslaan en ophalen zoals hieronder,

Opslaan:

sessionStorage.setItem('id', noOfClicks);   // localStorage.setItem('id', noOfClicks);
sessionStorage.setItem('userDetails', JSON.stringify(userDetails));   // if it's object

Te verkrijgen:

sessionStorage.getItem('id');    // localStorage.getItem('id');
User user = JSON.parse(sessionStorage.getItem("userDetails")) as User;  // if it's object

Aanpassen:

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

PS:getItem()retourneer de gegevens ook als string en we moeten deze converterennaar JSON-indelingom toegang te krijgen als het een object is.

Je kunt hier meer lezen over browseropslag..

  1. Verschil tussen localStorage, sessionStorage en cookies

  2. localstorage-vs-sessionstorage

Other episodes