0Pricing
React Academy · Aula

sessionStorage, IndexedDB e escolha da API certa

Compare as opções de armazenamento do navegador quanto à persistência, capacidade e acesso síncrono ou assíncrono.

sessionStorage, IndexedDB e escolha da API certa é uma aula grátis de React Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

sessionStorage compartilha a interface

O sessionStorage expõe exatamente os mesmos métodos que o localStorage, mas sua duração está vinculada à aba. Quando a aba ou a janela é fechada, seus dados são limpos automaticamente.

Ele também é isolado por aba, portanto duas abas não compartilham dados do sessionStorage.

Caso de uso: formulário em várias etapas

O sessionStorage é ideal para um assistente de várias etapas no qual você deseja preservar o progresso após recarregamentos durante a sessão, mas descartá-lo quando a aba for fechada.

O usuário pode atualizar a página no meio do formulário sem perder os dados preenchidos, mas nada permanece depois que ele termina ou sai.

IndexedDB: assíncrono e grande

O IndexedDB é um banco de dados assíncrono e transacional integrado ao navegador. Ele pode armazenar muito mais que o limite de 5 MB do localStorage e lida com objetos estruturados, matrizes e até dados binários.

Por ser assíncrono, ele não bloqueia a linha de execução principal como o localStorage.

Adaptador de promessas do IDB-Keyval

A interface bruta do IndexedDB é detalhada e baseada em eventos, portanto bibliotecas como idb-keyval a encapsulam em funções simples baseadas em promessas, como get, set e del.

Isso oferece uma ergonomia semelhante à do localStorage, com a capacidade do IndexedDB e comportamento assíncrono.

IndexedDB para grandes objetos binários

Como o IndexedDB pode armazenar valores Blob e ArrayBuffer, ele é ideal para armazenar em cache imagens, áudio, arquivos baixados ou recursos off-line.

Esses dados ultrapassariam rapidamente os limites do localStorage e teriam de ser serializados como strings, algo que o IndexedDB evita.

A interface Cache para respostas HTTP

A interface Cache, frequentemente usada com agentes de serviço, armazena objetos completos de Response HTTP indexados pela requisição. Ela foi projetada especificamente para armazenar em cache respostas de rede priorizando o funcionamento off-line.

Use-a para fornecer recursos e respostas de API sem acessar a rede quando estiver off-line.

Comparação da persistência

O localStorage persiste indefinidamente até ser limpo, o sessionStorage dura apenas durante a sessão da aba, o IndexedDB persiste indefinidamente e os cookies têm expiração configurável por meio de seus atributos.

Combinar a duração necessária com o armazenamento adequado evita surpresas sobre quando os dados desaparecem.

Comparação da capacidade

localStorage e sessionStorage são limitados a aproximadamente 5 MB, os cookies a cerca de 4 KB cada, enquanto IndexedDB pode usar centenas de megabytes ou mais, dependendo do dispositivo e do navegador.

Para qualquer coisa de tamanho considerável, IndexedDB é a única opção prática no navegador.

Síncrono vs. assíncrono

localStorage, sessionStorage e os cookies são síncronos e bloqueiam a linha de execução principal durante o acesso. IndexedDB e a API Cache são assíncronos e baseados em promessas.

O acesso assíncrono mantém a interface responsiva mesmo ao ler ou gravar grandes quantidades de dados.

Escolhendo por caso de uso

Use cookies httpOnly para tokens de autenticação, para que os scripts não possam lê-los; localStorage para pequenas preferências persistentes; IndexedDB para arquivos grandes e dados offline complexos; e sessionStorage para rascunhos de curta duração dentro de uma aba.

Escolha o armazenamento de acordo com a sensibilidade, o tamanho e a duração dos dados.

Combinando tudo

Não existe uma única API de armazenamento melhor em todos os casos; cada uma faz concessões entre capacidade, persistência, comportamento síncrono e segurança. Conhecer as diferenças permite que você escolha conscientemente.

Um aplicativo típico usa várias: cookies para autenticação, localStorage para preferências e IndexedDB para recursos offline.

Verificação rápida

Teste sua compreensão das opções de armazenamento.

Recapitulação

Você comparou sessionStorage, localStorage, IndexedDB, cookies e a API Cache em relação à persistência, à capacidade, ao comportamento síncrono e à segurança.

Você aprendeu a escolher de acordo com o caso de uso: cookies para autenticação, localStorage para pequenas preferências, IndexedDB para dados grandes ou complexos e sessionStorage para rascunhos restritos à aba.

Perguntas Frequentes

A aula “sessionStorage, IndexedDB e escolha da API certa” é grátis?

Sim — o texto completo de “sessionStorage, IndexedDB e escolha da API certa” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “sessionStorage, IndexedDB e escolha da API certa”?

Compare as opções de armazenamento do navegador quanto à persistência, capacidade e acesso síncrono ou assíncrono. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “sessionStorage, IndexedDB e escolha da API certa”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Lendo e gravando no localStorage com React
  2. Sincronizando o estado com localStorage
  3. Tratando eventos de armazenamento entre abas
  4. sessionStorage, IndexedDB e escolha da API certa
← Voltar para React Academy