sessionStorage, IndexedDB e scelta dell'API giusta
Confronti le opzioni di archiviazione del browser in base a persistenza, capacità e accesso sincrono o asincrono.
sessionStorage, IndexedDB e scelta dell'API giusta è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento React Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso React Academy include 4 lezioni in totale.
sessionStorage condivide l'API
sessionStorage espone esattamente gli stessi metodi di localStorage, ma la sua durata è legata alla scheda. Quando la scheda o la finestra viene chiusa, i dati vengono cancellati automaticamente.
È inoltre isolato per scheda, quindi due schede non condividono i dati di sessionStorage.
Caso d'uso: modulo a più passaggi
sessionStorage è ideale per una procedura guidata a più passaggi, quando si desidera conservare i progressi tra i ricaricamenti durante la sessione, ma eliminarli alla chiusura della scheda.
L'utente può ricaricare la pagina durante la compilazione senza perdere i dati inseriti, ma nulla rimane dopo aver terminato o abbandonato la procedura.
IndexedDB: asincrono e capiente
IndexedDB è un database asincrono e transazionale integrato nel browser. Può memorizzare molti più dati del limite di 5 MB di localStorage e gestisce oggetti strutturati, array e persino dati binari.
Essendo asincrono, non blocca il thread principale come fa localStorage.
Wrapper Promise IDB-Keyval
L'API IndexedDB grezza è verbosa e basata su eventi, quindi librerie come idb-keyval la avvolgono in semplici funzioni basate su Promise, come get, set e del.
Si ottiene così un'ergonomia simile a localStorage, con la capacità e il comportamento asincrono di IndexedDB.
IndexedDB per blob di grandi dimensioni
Poiché IndexedDB può memorizzare valori Blob e ArrayBuffer, è ideale per memorizzare nella cache immagini, audio, file scaricati o risorse offline.
Questi dati supererebbero rapidamente i limiti di localStorage e dovrebbero essere convertiti in stringhe, cosa che IndexedDB evita.
La Cache API per le risposte HTTP
L'API Cache, spesso usata con i service worker, memorizza interi oggetti HTTP Response indicizzati per richiesta. È progettata appositamente per la memorizzazione nella cache delle risposte di rete in applicazioni offline-first.
La si utilizza per fornire risorse e risposte delle API senza accedere alla rete quando si è offline.
Confronto della persistenza
localStorage persiste permanentemente finché non viene cancellato, sessionStorage dura solo per la sessione della scheda, IndexedDB persiste permanentemente e i cookie hanno una scadenza configurabile tramite i relativi attributi.
Associare la durata necessaria al sistema di archiviazione corretto evita sorprese su quando i dati scompaiono.
Confronto della capacità
localStorage e sessionStorage sono limitati a circa 5 MB, mentre i cookie hanno una capacità di circa 4 KB ciascuno e IndexedDB può utilizzare centinaia di megabyte o più, a seconda del dispositivo e del browser.
Per qualsiasi quantità di dati significativa, IndexedDB è l'unica opzione pratica nel browser.
Sincrono vs asincrono
localStorage, sessionStorage e i cookie sono sincroni e bloccano il thread principale durante l'accesso. IndexedDB e la Cache API sono asincroni e basati su Promise.
L'accesso asincrono mantiene reattiva l'interfaccia utente anche durante la lettura o la scrittura di quantità di dati maggiori.
Scelta in base al caso d'uso
Utilizzi cookie httpOnly per i token di autenticazione, in modo che gli script non possano leggerli; localStorage per le preferenze persistenti di piccole dimensioni; IndexedDB per file di grandi dimensioni e dati offline complessi; infine, sessionStorage per bozze temporanee all'interno di una scheda.
Scelga il sistema di archiviazione in base alla sensibilità, alle dimensioni e alla durata dei dati.
Mettere tutto insieme
Non esiste un'unica API di archiviazione migliore delle altre: ciascuna comporta compromessi in termini di capacità, persistenza, comportamento sincrono e sicurezza. Conoscendone le differenze, può scegliere consapevolmente.
Un'applicazione tipica ne utilizza diverse: i cookie per l'autenticazione, localStorage per le preferenze e IndexedDB per le risorse offline.
Verifica rapida
Verifichi la Sua comprensione delle scelte relative all'archiviazione.
Riepilogo
Ha confrontato sessionStorage, localStorage, IndexedDB, i cookie e la Cache API in termini di persistenza, capacità, comportamento sincrono e sicurezza.
Ha imparato a scegliere in base al caso d'uso: i cookie per l'autenticazione, localStorage per le preferenze di piccole dimensioni, IndexedDB per dati grandi o complessi e sessionStorage per bozze limitate alla scheda.
Impara React con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 88
- Lezioni
- 324
Domande Frequenti
La lezione «sessionStorage, IndexedDB e scelta dell'API giusta» è gratuita?
Sì — il testo completo di «sessionStorage, IndexedDB e scelta dell'API giusta» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso React Academy, passa a CoddyKit PRO. Il corso React Academy include 4 lezioni in totale.
Cosa imparerò in «sessionStorage, IndexedDB e scelta dell'API giusta»?
Confronti le opzioni di archiviazione del browser in base a persistenza, capacità e accesso sincrono o asincrono. Eserciti React Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare React Academy?
Non è richiesta alcuna esperienza precedente. React Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «sessionStorage, IndexedDB e scelta dell'API giusta»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione React Academy?
Sì. Ogni lezione React Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Leggere e scrivere in localStorage con React
- Sincronizzare lo stato con localStorage
- Gestire gli eventi di archiviazione tra schede
- sessionStorage, IndexedDB e scelta dell'API giusta