Repolode
microlinkhq

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. 1

    Instale o pacote principal

    npm install @keyvhq/core --save
  2. 2

    Se quiser, instale um adaptador de armazenamento, como o Redis

    npm install @keyvhq/redis --save
  3. 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