Кроссплатформенный GUI-клиент для управления базами Redis в Linux, Windows и macOS с поддержкой Cluster, Sentinel и SSH-туннелей.
tair-opensource/RedisShake
Инструмент на Go для миграции и преобразования данных между экземплярами Redis и Valkey, в том числе в облачных сервисах, совместимых с Redis.
- Звёзды
- 4,451
- Форки
- 784
- Открытые issues
- 154
- Последний коммит
- 8 дней назад
Что это?
RedisShake переносит данные между экземплярами Redis или Valkey и поддерживает развертывания в режимах standalone, master-slave, sentinel и cluster. Данные можно получать через потоковую репликацию (PSync), из файла RDB или сканируя ключи, а затем записывать в целевой экземпляр. Правила фильтрации позволяют пропускать ключи по префиксу или шаблону, а скрипты — выполнять пользовательские преобразования во время миграции.
Инструмент предназначен для переноса данных между базами, включая сервисы, совместимые с Redis, от Alibaba Cloud (Tair), AWS ElastiCache и MemoryDB. Он также поддерживает модули Tair, такие как TairString, TairZSet и TairHash. Конфигурация задаётся в TOML-файле, который передаётся бинарному файлу; также доступен Docker-образ.
Согласно документации проекта, возобновить прерванный перенос нельзя: после сбоя процесс начинает полную повторную синхронизацию. Кроме того, предполагается, что топология кластера остаётся неизменной; масштабирование, переключение при сбое или миграция слотов приведут к аварийному завершению процесса. Поэтому инструмент лучше подходит для разовых миграций, а не для длительной непрерывной синхронизации.
Ключевые возможности
- 01Переносит данные из развертываний Redis или Valkey в режимах standalone, master-slave, sentinel и cluster.
- 02Получает данные через репликацию PSync, из файлов RDB или сканируя ключи.
- 03Фильтрует ключи по префиксу и преобразует их с помощью скриптов.
- 04Работает с ElastiCache, MemoryDB и Tair, а также с модулями Tair.
- 05Запускается с TOML-файлом конфигурации или в Docker-образе.
Сценарии использования
- Разовая миграция набора данных Redis на новый сервер или в облачный сервис.
- Копирование данных Redis в Valkey с пропуском временных ключей или ключей кэша.
- Перенос данных из самостоятельно развернутого Redis в AWS ElastiCache или MemoryDB.
Быстрый старт
- 1
Запустите RedisShake в 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
Клонируйте репозиторий
git clone https://github.com/tair-opensource/RedisShake - 3
Соберите из исходного кода (необходимо установить Go)
sh build.sh - 4
Запустите RedisShake с файлом конфигурации shake.toml
./redis-shake shake.toml
Что важно знать
- Возобновление передачи (checkpoint) не поддерживается, поэтому после перезапуска полная синхронизация начнётся с самого начала.
- Изменения топологии кластера, такие как масштабирование, переключение при сбое или миграция слотов, приведут к panic процесса.
- Лучше всего подходит для разовых миграций, а не для длительной непрерывной синхронизации.
Темы
Частые вопросы
- Что такое RedisShake?
- Инструмент на Go для миграции и преобразования данных между экземплярами Redis и Valkey, в том числе в облачных сервисах, совместимых с Redis. RedisShake переносит данные между экземплярами Redis или Valkey и поддерживает развертывания в режимах standalone, master-slave, sentinel и cluster. Данные можно получать через потоковую репликацию (PSync), из файла RDB или сканируя ключи, а затем записывать в целевой экземпляр. Правила фильтрации позволяют пропускать ключи по префиксу или шаблону, а скрипты — выполнять пользовательские преобразования во время миграции.
- RedisShake можно использовать бесплатно? Какая у него лицензия?
- RedisShake распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- RedisShake всё ещё поддерживается?
- Активно поддерживается. Последний коммит в RedisShake — 30 окт. 2026 г..
- Для чего можно использовать RedisShake?
- Разовая миграция набора данных Redis на новый сервер или в облачный сервис. Копирование данных Redis в Valkey с пропуском временных ключей или ключей кэша. Перенос данных из самостоятельно развернутого Redis в AWS ElastiCache или MemoryDB.
- Как установить RedisShake?
- Запустите RedisShake в 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 Клонируйте репозиторий: git clone https://github.com/tair-opensource/RedisShake Соберите из исходного кода (необходимо установить Go): sh build.sh Запустите RedisShake с файлом конфигурации shake.toml: ./redis-shake shake.toml
- Где скачать RedisShake?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tair-opensource/RedisShake
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Распределённая NoSQL-база данных типа «ключ—значение» на RocksDB с поддержкой протокола Redis, к которой можно подключаться существующими Redis-клиентами.
Клиентская библиотека Redis для .NET с поддержкой Redis Sentinel и Cluster, а также синхронного и асинхронного API.
Высокопроизводительный сервер структур данных «ключ — значение», совместимый с Redis и созданный как форк Redis для кэширования и задач реального времени.
Java-клиент для Valkey и Redis с распределёнными коллекциями, блокировками, очередями и сервисами поверх базовых команд.
Клиентская библиотека .NET для подключения к Redis и другим RESP-совместимым серверам, таким как Valkey, Garnet и AWS ElastiCache.