Repolode
tair-opensource

tair-opensource/RedisShake

Herramienta en Go para migrar y transformar datos entre instancias de Redis y Valkey, incluidos servicios compatibles con Redis alojados en la nube.

Estrellas
4,451
Forks
784
Issues abiertos
154
Último commit
hace 8 días

¿Qué es?

RedisShake mueve datos entre instancias de Redis o Valkey y admite implementaciones standalone, master-slave, sentinel y cluster. Puede obtener los datos mediante replicación en vivo (PSync), desde un archivo RDB o explorando las claves, y escribirlos en una instancia de destino. Las reglas de filtrado permiten omitir claves por prefijo o patrón, y las funciones basadas en scripts permiten aplicar transformaciones personalizadas durante la migración.

La herramienta está pensada para mover datos entre bases de datos, incluidos servicios similares a Redis de Alibaba Cloud (Tair), AWS ElastiCache y MemoryDB. También admite módulos de Tair, como TairString, TairZSet y TairHash. La configuración se define en un archivo TOML que se pasa al binario, y hay una imagen de Docker disponible.

El proyecto documenta que no admite transferencias reanudables, por lo que, si una ejecución se interrumpe, se reinicia con una resincronización completa. También presupone una topología de cluster estática: el escalado, la conmutación por error o la migración de slots provocarán que el proceso entre en pánico. Es más adecuado para migraciones puntuales que para una sincronización continua a largo plazo.

Funciones clave

  • 01Migra datos desde implementaciones de Redis o Valkey standalone, master-slave, sentinel y cluster.
  • 02Lee datos mediante replicación PSync, archivos RDB o exploración de claves.
  • 03Filtra claves por prefijo y aplica transformaciones basadas en scripts.
  • 04Funciona con ElastiCache, MemoryDB y Tair, además de los módulos de Tair.
  • 05Se ejecuta con un archivo de configuración TOML o una imagen de Docker.

Casos de uso

  • Migrar una vez un conjunto de datos de Redis a un servidor o servicio en la nube nuevo.
  • Copiar datos de Redis a Valkey y omitir claves temporales o de caché.
  • Mover datos desde una instancia de Redis autogestionada a AWS ElastiCache o MemoryDB.

Inicio rápido

  1. 1

    Ejecuta RedisShake en 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

    Clona el repositorio

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

    Compílalo desde el código fuente (es necesario tener Go instalado)

    sh build.sh
  4. 4

    Ejecuta RedisShake con tu archivo de configuración shake.toml

    ./redis-shake shake.toml

Antes de usarlo

  • No se admite reanudar la transferencia (checkpoint), por lo que al reiniciar se vuelve a sincronizar todo desde el principio.
  • Los cambios en la topología del clúster, como el escalado, la conmutación por error o la migración de slots, provocan un panic del proceso.
  • Es más adecuado para migraciones puntuales que para una sincronización continua a largo plazo.

Temas

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

Preguntas frecuentes

¿Qué es RedisShake?
Herramienta en Go para migrar y transformar datos entre instancias de Redis y Valkey, incluidos servicios compatibles con Redis alojados en la nube. RedisShake mueve datos entre instancias de Redis o Valkey y admite implementaciones standalone, master-slave, sentinel y cluster. Puede obtener los datos mediante replicación en vivo (PSync), desde un archivo RDB o explorando las claves, y escribirlos en una instancia de destino. Las reglas de filtrado permiten omitir claves por prefijo o patrón, y las funciones basadas en scripts permiten aplicar transformaciones personalizadas durante la migración.
¿RedisShake es gratuito? ¿Qué licencia tiene?
RedisShake es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿RedisShake sigue mantenido?
Mantenimiento activo. El último commit de RedisShake fue el 30 oct 2026.
¿Para qué puedo usar RedisShake?
Migrar una vez un conjunto de datos de Redis a un servidor o servicio en la nube nuevo. Copiar datos de Redis a Valkey y omitir claves temporales o de caché. Mover datos desde una instancia de Redis autogestionada a AWS ElastiCache o MemoryDB.
¿Cómo se instala RedisShake?
Ejecuta RedisShake en 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 Clona el repositorio: git clone https://github.com/tair-opensource/RedisShake Compílalo desde el código fuente (es necesario tener Go instalado): sh build.sh Ejecuta RedisShake con tu archivo de configuración shake.toml: ./redis-shake shake.toml
¿Dónde consigo RedisShake?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tair-opensource/RedisShake

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados