Cacheable - Pacote de cache para Node.js baseado em Keyv
(github.com/jaredwray)Pacote de solução de cache utilizável em vários projetos
- cacheable: framework de cache de próxima geração. Projetado e construído do zero com cache em camada 1 / camada 2. Tem como pontos fortes cache distribuído e escalabilidade
- cache-manager: usado em serviços como NestJS e oferece recursos poderosos como
wrap. Amplamente utilizado em diversos aplicativos - cacheable-request: adiciona funcionalidade de cache a requisições HTTP nativas. Suporta cache em conformidade com RFC. Permite aplicar cache facilmente a requisições de rede
- flat-cache: cache rápido em memória com persistência em armazenamento de arquivos. Permite acesso rápido na memória e também salvar dados de cache em arquivos
- file-entry-cache: cache leve para metadados de arquivos. Adequado para processos que tratam um conjunto específico de arquivos, reprocessando apenas os arquivos alterados desde a última execução
- @cacheable/node-cache: pacote substituto para
node-cache
Cacheable
- Motor de cache de alto desempenho em camada 1 / camada 2 com foco em cache distribuído
- Planeja oferecer suporte a recursos corporativos como CacheSync
- Fornece desempenho robusto com base no motor de armazenamento Keyv
- API simples para armazenar dados em cache e recuperá-los
- Principais características
- API simples e intuitiva
- Estrutura leve sem módulos desnecessários
- Usa o Keyv como motor de armazenamento confiável e escalável
- Memory Caching com suporte a LRU (Least Recently Used) e cache com expiração
- Estrutura resiliente a falhas com recuperação de erros e suporte offline
- Suporte a
wrap/ memoization para funções síncronas e assíncronas - Suporte a hooks e tratamento de eventos para expandir funcionalidades
- Configuração simples de TTL (limite de tempo) em milissegundos (1 minuto = 60000ms, 1 hora = 3600000ms, 1 dia = 86400000ms)
- Suporte a operações de cache em camada 2 não bloqueantes (non-blocking)
- Sincronização de cache distribuído baseada em Pub/Sub (em breve)
- Testes abrangentes e cobertura de código
- Suporte a ESM e CommonJS, compatível com Typescript
1 comentários
Parece que a ideia é só dividir em camadas
primaryesecondarydentro do próprio pacote e então armazenar no Keyv.Quem estava esperando um cache Layer 1 / Layer 2 no sentido clássico pode voltar.