Cache inteligente para SQLite com TTL, LRU e estrategias avancadas de invalidacao
O smart-cache-sqlite e uma biblioteca que adiciona uma camada de cache inteligente sobre bancos de dados SQLite. Ela combina estrategias de cache modernas com invalidacao automatica baseada nas mudancas do banco de dados.
Gerenciamento automatico de memoria usando Time-To-Live e Least Recently Used para otimizar performance.
Cache-First, Network-First e Stale-While-Revalidate para diferentes necessidades de dados.
Detecta mudancas no banco usando PRAGMA data_version do SQLite, sem necessidade de triggers manuais.
Estatisticas completas de performance, hit rates e uso de memoria para monitoramento.
Ou para projetos que usam sqlite3 assincrono:
Veja como e simples usar o smart-cache-sqlite em seu projeto:
Nota: O cache detecta automaticamente quando o banco de dados muda e invalida as entradas afetadas.
O smart-cache-sqlite oferece tres estrategias diferentes para diferentes tipos de dados:
Sempre tenta servir dados do cache primeiro. Se nao encontrar ou estiver expirado, busca no banco e armazena no cache. Ideal para dados que nao mudam frequentemente.
Sempre busca no banco primeiro, depois armazena no cache. Util para dados criticos que precisam estar sempre atualizados.
Serve dados do cache imediatamente (mesmo se velhos), mas revalida em background para a proxima requisicao. Oferece a melhor experiencia do usuario.
O cache automaticamente identifica que esta query envolve as tabelas 'pedidos' e 'clientes', e ira invalidar o cache quando qualquer dessas tabelas for modificada.
Use invalidateAll() quando precisar forcar uma atualizacao completa dos dados em cache.
O smart-cache-sqlite suporta diferentes adaptadores para SQLite:
Use Cache-First para dados estaticos, Network-First para dados criticos, e Stale-While-Revalidate para melhor experiencia do usuario.
Defina tempos de vida que balanceiem performance com atualidade dos dados. Dados muito estaticos podem ter TTL maior.
Use o metodo stats() regularmente para acompanhar hit rates e ajustar configuracoes conforme necessario.
Para bancos com muitas atualizacoes, considere habilitar triggers para invalidacao mais precisa por tabela.
Experimente o smart-cache-sqlite funcionando em tempo real. Esta é uma demonstração simulada que mostra como o cache se comporta com diferentes estratégias:
Nota: Esta demo usa dados simulados pois está hospedada no GitHub Pages (apenas arquivos estáticos). Para uma experiência completa com banco de dados real, execute localmente com npm run demo
.