Repolode
tair-opensource

tair-opensource/RedisShake

Ferramenta em Go para migrar e transformar dados entre instâncias de Redis e Valkey, incluindo serviços compatíveis com Redis hospedados na nuvem.

Estrelas
4,451
Forks
784
Issues abertas
154
Último commit
há 9 dias

O que é?

RedisShake transfere dados entre instâncias de Redis ou Valkey, incluindo implantações standalone, master-slave, sentinel e cluster. Ele pode obter dados por replicação em tempo real (PSync), de um arquivo RDB ou escaneando as chaves, e gravá-los em uma instância de destino. Regras de filtro permitem ignorar chaves por prefixo ou padrão, e funções baseadas em scripts possibilitam transformações personalizadas durante a migração.

A ferramenta é voltada à transferência de dados entre bancos de dados, incluindo serviços compatíveis com Redis, como Alibaba Cloud (Tair), AWS ElastiCache e MemoryDB. Também oferece suporte a módulos do Tair, como TairString, TairZSet e TairHash. A configuração é feita por um arquivo TOML passado ao binário, e há uma imagem Docker disponível.

O projeto informa que não oferece suporte à retomada de transferências; portanto, se uma execução for interrompida, ela será reiniciada com uma ressincronização completa. A ferramenta também pressupõe uma topologia de cluster estática: operações de expansão, failover ou migração de slots fazem o processo entrar em panic. Ela é mais adequada para migrações pontuais do que para sincronização contínua de longo prazo.

Recursos principais

  • 01Migra dados de implantações standalone, master-slave, sentinel e cluster de Redis ou Valkey.
  • 02Lê dados por replicação PSync, arquivos RDB ou varredura de chaves.
  • 03Filtra chaves por prefixo e aplica transformações baseadas em scripts.
  • 04Funciona com ElastiCache, MemoryDB e Tair, além de módulos do Tair.
  • 05É executada a partir de um arquivo de configuração TOML ou de uma imagem Docker.

Casos de uso

  • Migrar pontualmente um conjunto de dados Redis para um novo servidor ou serviço de nuvem.
  • Copiar dados do Redis para Valkey, ignorando chaves temporárias ou de cache.
  • Transferir dados de uma instância Redis autogerenciada para o AWS ElastiCache ou MemoryDB.

Início rápido

  1. 1

    Execute o RedisShake no Docker

    docker run --network host -e SYNC=true -e SHAKE_SRC_ADDRESS=127.0.0.1:6379 -e SHAKE_DST_ADDRESS=127.0.0.1:6380 ghcr.io/tair-opensource/redisshake:latest
  2. 2

    Clone o repositório

    git clone https://github.com/tair-opensource/RedisShake
  3. 3

    Compile a partir do código-fonte (é necessário ter o Go instalado)

    sh build.sh
  4. 4

    Execute o RedisShake com seu arquivo de configuração shake.toml

    ./redis-shake shake.toml

Antes de usar

  • A retomada da transferência (checkpoint) não é compatível; portanto, ao reiniciar, todo o processo de sincronização começa novamente do início.
  • Alterações na topologia do cluster, como escalonamento, failover ou migração de slots, farão o processo entrar em panic.
  • É mais indicado para migrações pontuais do que para sincronização contínua de longo prazo.

Tópicos

#redis#valkey#data-migration#database-tools#replication#cloud-migration#redis-cluster#redis-proxy

Perguntas frequentes

O que é RedisShake?
Ferramenta em Go para migrar e transformar dados entre instâncias de Redis e Valkey, incluindo serviços compatíveis com Redis hospedados na nuvem. RedisShake transfere dados entre instâncias de Redis ou Valkey, incluindo implantações standalone, master-slave, sentinel e cluster. Ele pode obter dados por replicação em tempo real (PSync), de um arquivo RDB ou escaneando as chaves, e gravá-los em uma instância de destino. Regras de filtro permitem ignorar chaves por prefixo ou padrão, e funções baseadas em scripts possibilitam transformações personalizadas durante a migração.
RedisShake é gratuito? Qual é a licença?
RedisShake é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
RedisShake ainda é mantido?
Manutenção ativa. O último commit de RedisShake foi em 30 de out. de 2026.
Para que posso usar RedisShake?
Migrar pontualmente um conjunto de dados Redis para um novo servidor ou serviço de nuvem. Copiar dados do Redis para Valkey, ignorando chaves temporárias ou de cache. Transferir dados de uma instância Redis autogerenciada para o AWS ElastiCache ou MemoryDB.
Como instalar RedisShake?
Execute o RedisShake no Docker: docker run --network host -e SYNC=true -e SHAKE_SRC_ADDRESS=127.0.0.1:6379 -e SHAKE_DST_ADDRESS=127.0.0.1:6380 ghcr.io/tair-opensource/redisshake:latest Clone o repositório: git clone https://github.com/tair-opensource/RedisShake Compile a partir do código-fonte (é necessário ter o Go instalado): sh build.sh Execute o RedisShake com seu arquivo de configuração shake.toml: ./redis-shake shake.toml
Onde consigo RedisShake?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tair-opensource/RedisShake

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

Projetos relacionados