sessionStorage, IndexedDB og valg af den rigtige API
Sammenlign browserens lagringsmuligheder ud fra persistens, kapacitet og synkron eller asynkron adgang.
sessionStorage, IndexedDB og valg af den rigtige API er en gratis React Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i React Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. React Academy-kurset indeholder 4 lektioner i alt.
sessionStorage deler API'en
sessionStorage stiller præcis de samme metoder til rådighed som localStorage, men levetiden er knyttet til fanen. Når fanen eller vinduet lukkes, ryddes dataene automatisk.
Det er også isoleret pr. fane, så to faner ikke deler sessionStorage-data.
Brugsscenarie: formular med flere trin
sessionStorage er velegnet til en guide med flere trin, hvor du vil bevare fremskridtet under genindlæsninger i den aktuelle session, men kassere det, når fanen lukkes.
Brugeren kan genindlæse siden midt i formularen uden at miste indtastninger, men intet bliver liggende, når formularen er færdig eller brugeren forlader den.
IndexedDB: asynkron og stor kapacitet
IndexedDB er en asynkron, transaktionsbaseret database, der er indbygget i browseren. Den kan gemme langt mere end localStorage-grænsen på 5 MB og håndterer strukturerede objekter, arrays og endda binære data.
Fordi den er asynkron, blokerer den ikke hovedtråden, sådan som localStorage gør.
IDB-Keyval-wrapper med Promises
Den rå IndexedDB-API er omstændelig og hændelsesbaseret, så biblioteker som idb-keyval pakker den ind i enkle Promise-baserede funktioner som get, set og del.
Det giver dig en brugeroplevelse som med localStorage kombineret med IndexedDB's kapacitet og asynkrone adfærd.
IndexedDB til store binære data
Fordi IndexedDB kan gemme værdier af typen Blob og ArrayBuffer, er den ideel til cachelagring af billeder, lyd, downloadede filer eller aktiver til offlinebrug.
Disse ville hurtigt overskride localStorage-grænserne og skulle konverteres til strenge, hvilket IndexedDB undgår.
Cache-API'en til HTTP-svar
Cache-API'en, som ofte bruges sammen med service workers, gemmer hele HTTP-Response-objekter, der identificeres af anmodningen. Den er specifikt udviklet til offline-først-cachelagring af netværkssvar.
Brug den til at levere aktiver og API-svar uden at tilgå netværket, når du er offline.
Sammenligning af lagringens varighed
localStorage bevares permanent, indtil det ryddes, sessionStorage varer kun under fanens session, IndexedDB bevares permanent, og cookies har et konfigurerbart udløb via deres attributter.
Ved at matche den nødvendige levetid med det rigtige lager undgår du overraskelser om, hvornår data forsvinder.
Sammenligning af kapacitet
localStorage og sessionStorage er begrænset til omtrent 5 MB, cookies til cirka 4 KB hver, mens IndexedDB kan bruge hundredvis af megabyte eller mere afhængigt af enheden og browseren.
Til alt, der fylder meget, er IndexedDB den eneste praktiske mulighed i browseren.
Synkront kontra asynkront
localStorage, sessionStorage og cookies er synkrone og blokerer hovedtråden under adgang. IndexedDB og Cache API er asynkrone og Promise-baserede.
Asynkron adgang holder brugerfladen responsiv, selv når der læses eller skrives større datamængder.
Valg efter anvendelse
Brug httpOnly-cookies til godkendelsestokens, så scripts ikke kan læse dem, localStorage til små, vedvarende indstillinger, IndexedDB til store filer og komplekse offlinedata samt sessionStorage til kortvarige kladder i et faneblad.
Tilpas lageret efter dataenes følsomhed, størrelse og levetid.
Samlet overblik
Der findes ikke én enkelt bedste lagrings-API; hver mulighed afvejer kapacitet, vedvarende lagring, synkroniseringsadfærd og sikkerhed forskelligt. Når du kender forskellene, kan du vælge bevidst.
En typisk app bruger flere muligheder: cookies til godkendelse, localStorage til indstillinger og IndexedDB til offlineaktiver.
Hurtig kontrol
Test din forståelse af valg af lagring.
Opsummering
Du sammenlignede sessionStorage, localStorage, IndexedDB, cookies og Cache API med hensyn til vedvarende lagring, kapacitet, synkroniseringsadfærd og sikkerhed.
Du lærte at vælge efter anvendelse: cookies til godkendelse, localStorage til små indstillinger, IndexedDB til store eller komplekse data og sessionStorage til kladder, der er afgrænset til et faneblad.
Lær React med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 88
- Lektioner
- 324
Ofte stillede spørgsmål
Er lektionen “sessionStorage, IndexedDB og valg af den rigtige API” gratis?
Ja — hele teksten til “sessionStorage, IndexedDB og valg af den rigtige API” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af React Academy-kurset, skal du opgradere til CoddyKit PRO. React Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “sessionStorage, IndexedDB og valg af den rigtige API”?
Sammenlign browserens lagringsmuligheder ud fra persistens, kapacitet og synkron eller asynkron adgang. Du øver dig i React Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på React Academy?
Der kræves ingen tidligere erfaring. React Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “sessionStorage, IndexedDB og valg af den rigtige API”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne React Academy-lektion?
Ja. Alle React Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Læsning og skrivning i localStorage i React
- Synkronisering af state med localStorage
- Håndtering af storage-hændelser på tværs af faner
- sessionStorage, IndexedDB og valg af den rigtige API