Um armazenamento de dados em memória compatível com as APIs do Redis e do Memcached, criado para substituir ambos sem mudanças nas aplicações.
microlinkhq/keyvhq
Biblioteca de armazenamento chave-valor para Node.js, com expiração por TTL e backends intercambiáveis, como Redis, MongoDB, SQLite e PostgreSQL.
- Estrelas
- 446
- Forks
- 20
- Issues abertas
- 0
- Último commit
- há 2 meses
O que é?
Keyv é uma pequena biblioteca para Node.js que armazena pares chave-valor com expiração opcional por TTL. Por padrão, mantém os dados em um Map na memória, mas você pode usar um adaptador de armazenamento para persistir os dados em bancos como Redis, MongoDB, MySQL, PostgreSQL e SQLite, ou em um arquivo. Qualquer objeto que implemente a API de Map também pode ser usado como armazenamento.
A API é baseada em Promises e oferece operações de set, get, has, delete e clear, além de namespaces que permitem a várias instâncias compartilharem um banco de dados sem colisões entre chaves nem apagarem os dados umas das outras. A biblioteca serializa todos os tipos JSON e valores Buffer, e permite definir um par personalizado de funções serialize e deserialize para outros tipos de dados. Os erros do banco de dados são tratados para que uma falha no armazenamento não derrube a aplicação.
O projeto também oferece decorators para recursos como compressão, limites de tamanho, memoization, encadeamento de vários armazenamentos e coleta de métricas. Seu design facilita que outros módulos aceitem uma opção de cache e a repassem ao Keyv.
Recursos principais
- 01Armazena dados na memória por padrão e oferece suporte a vários adaptadores de banco de dados.
- 02Oferece expiração por TTL padrão ou configurada por chave.
- 03Os namespaces isolam as chaves em um backend compartilhado e permitem limpar um único namespace.
- 04Lida nativamente com todos os tipos JSON e valores Buffer.
- 05Aceita funções personalizadas de serialize e deserialize.
- 06Funciona com qualquer objeto que implemente a API de Map como armazenamento.
Casos de uso
- Adicionar um cache com TTL a uma aplicação Node.js usando Redis ou outro banco de dados como backend.
- Armazenar respostas HTTP em cache em uma biblioteca cliente, como no exemplo com got.
- Armazenar dados chave-valor persistentes em SQLite ou PostgreSQL sem precisar criar uma camada de dados personalizada.
- Incorporar suporte a cache em um módulo npm reutilizável que permita aos usuários fornecer seu próprio armazenamento.
Início rápido
- 1
Instale o pacote principal
npm install @keyvhq/core --save - 2
Se quiser, instale um adaptador de armazenamento, como o Redis
npm install @keyvhq/redis --save - 3
Crie uma instância de Keyv e defina, obtenha e exclua uma chave
Antes de usar
- Alguns recursos e adaptadores dependem de bancos de dados ou serviços externos, como Redis, MongoDB ou PostgreSQL, que você precisa executar por conta própria.
Tópicos
Perguntas frequentes
- O que é keyvhq?
- Biblioteca de armazenamento chave-valor para Node.js, com expiração por TTL e backends intercambiáveis, como Redis, MongoDB, SQLite e PostgreSQL. Keyv é uma pequena biblioteca para Node.js que armazena pares chave-valor com expiração opcional por TTL. Por padrão, mantém os dados em um Map na memória, mas você pode usar um adaptador de armazenamento para persistir os dados em bancos como Redis, MongoDB, MySQL, PostgreSQL e SQLite, ou em um arquivo. Qualquer objeto que implemente a API de Map também pode ser usado como armazenamento.
- keyvhq é gratuito? Qual é a licença?
- keyvhq é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- keyvhq ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de keyvhq foi em 27 de ago. de 2026.
- Para que posso usar keyvhq?
- Adicionar um cache com TTL a uma aplicação Node.js usando Redis ou outro banco de dados como backend. Armazenar respostas HTTP em cache em uma biblioteca cliente, como no exemplo com got. Armazenar dados chave-valor persistentes em SQLite ou PostgreSQL sem precisar criar uma camada de dados personalizada. Incorporar suporte a cache em um módulo npm reutilizável que permita aos usuários fornecer seu próprio armazenamento.
- Como instalar keyvhq?
- Instale o pacote principal: npm install @keyvhq/core --save Se quiser, instale um adaptador de armazenamento, como o Redis: npm install @keyvhq/redis --save Crie uma instância de Keyv e defina, obtenha e exclua uma chave
- Onde consigo keyvhq?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microlinkhq/keyvhq
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Servidor de estruturas de dados de alto desempenho e compatível com Redis, derivado do Redis, voltado para cache e cargas de trabalho em tempo real.
Cliente Java para Valkey e Redis que adiciona coleções distribuídas, locks, filas e serviços sobre os comandos básicos.
Software de fórum em Node.js com discussões em tempo real e suporte a Redis, MongoDB ou PostgreSQL.
Banco de dados chave-valor persistente e incorporável, escrito em Go puro, com transações ACID e design otimizado para SSDs.
Biblioteca da Hugging Face para Parameter-Efficient Fine-Tuning (PEFT), adaptando modelos pré-treinados grandes ao treinar apenas um pequeno conjunto de parâmetros adicionais.