Repolode
Snapchat

Snapchat/KeyDB

Banco de dados em memória multithread compatível com Redis e substituto direto, com replicação active-active e armazenamento FLASH opcional.

Alternativa open source a:Redis

Estrelas
12,498
Forks
679
Issues abertas
295
Último commit
há 16 dias

O que é?

KeyDB é um fork de alto desempenho do Redis, com foco em multithreading, eficiência no uso de memória e throughput. Mantém compatibilidade total com o protocolo, os módulos e os scripts do Redis, permitindo migrar implantações existentes sem alterar clientes nem o código da aplicação.

Além dos recursos do Redis, o KeyDB oferece replicação active-active, que permite que várias instâncias aceitem leituras e gravações enquanto permanecem sincronizadas, além de simplificar o balanceamento de carga baseado em TCP e o failover com instância de reserva. Também oferece armazenamento FLASH em SSDs locais, expiração de subchaves e opções para exportar e importar dumps no S3. Seu design MVCC permite que comandos como KEYS e SCAN sejam executados sem bloquear o banco de dados.

O KeyDB roda no Linux, onde seu processo de build também é testado. O multithreading é controlado por opções como server-threads e configurações de balanceamento de clientes, e o TLS vem habilitado por padrão nos builds.

Recursos principais

  • 01Processamento multithread de requisições, compatível com o protocolo, os módulos e os scripts do Redis.
  • 02Replicação active-active para que várias instâncias possam aceitar leituras e gravações.
  • 03Armazenamento FLASH em SSDs locais (experimental).
  • 04Expiração de subchaves e execução não bloqueante de KEYS e SCAN com base em MVCC.
  • 05Opções para exportar e importar dumps no AWS S3.

Casos de uso

  • Substituir uma implantação existente do Redis para obter maior throughput no mesmo hardware.
  • Executar uma camada de cache em que várias instâncias precisam atender gravações e leituras em conjunto.
  • Reduzir a quantidade de servidores processando mais carga por nó.

Início rápido

  1. 1

    Instale as dependências de compilação no Debian/Ubuntu

    sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev
  2. 2

    Inicialize e atualize as dependências dos submódulos

    git submodule init && git submodule update
  3. 3

    Compile o KeyDB

    make
  4. 4

    No diretório src, inicie o servidor com a configuração padrão

    ./keydb-server

Antes de usar

  • A compilação e os testes são feitos somente no Linux, pois dependem do Linux SO_REUSEPORT.
  • O armazenamento FLASH é experimental (beta) e deve ser usado com cautela.
  • Não há suporte pago; a ajuda é oferecida pelos canais da comunidade.

Em coleções

Tópicos

Perguntas frequentes

O que é KeyDB?
Banco de dados em memória multithread compatível com Redis e substituto direto, com replicação active-active e armazenamento FLASH opcional. KeyDB é um fork de alto desempenho do Redis, com foco em multithreading, eficiência no uso de memória e throughput. Mantém compatibilidade total com o protocolo, os módulos e os scripts do Redis, permitindo migrar implantações existentes sem alterar clientes nem o código da aplicação.
KeyDB é gratuito? Qual é a licença?
KeyDB é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
KeyDB ainda é mantido?
Manutenção ativa. O último commit de KeyDB foi em 22 de out. de 2026.
Para que posso usar KeyDB?
Substituir uma implantação existente do Redis para obter maior throughput no mesmo hardware. Executar uma camada de cache em que várias instâncias precisam atender gravações e leituras em conjunto. Reduzir a quantidade de servidores processando mais carga por nó.
Como instalar KeyDB?
Instale as dependências de compilação no Debian/Ubuntu: sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev Inicialize e atualize as dependências dos submódulos: git submodule init && git submodule update Compile o KeyDB: make No diretório src, inicie o servidor com a configuração padrão: ./keydb-server
Onde consigo KeyDB?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Snapchat/KeyDB

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados