Назад | Перейти на главную страницу

копирование (частичное) данных redis с одного сервера на другой

Я ищу решение для копирования конкретной базы данных с одного сервера Redis на другой. Эти два сервера не расположены на одном сайте или имеют какое-либо соединение между собой, поэтому данные должны передаваться через какой-либо файл дампа.

Я не хочу использовать bgsave и переместите файл dump.rdb на целевой сервер, так как это перенесет ВСЕ redis db и перезапишет существующие данные на целевом сервере. (Я хочу только конкретный db)

какие еще решения доступны?

Возможно, вам подходит этот процесс:

  1. Дамп в файл RDB
  2. Загрузить RDB в новом экземпляре
  3. Удалите нежелательные БД и снова сделайте дамп
  4. Использовать DEBUG RELOAD NOSAVE NOFLUSH MERGE (недокументированная команда) для загрузки файла RDB с шага 3

Посмотреть здесь для получения дополнительной информации о шаге 4.

Как всегда, протестируйте процесс перед запуском в производство

Я предполагаю, что Redis не должен синхронизировать между местоположениями, для выполнения синхронизации вам лучше поместить важные данные в традиционную базу данных, такую ​​как postgresql или MariaDB, у которых есть встроенная функция для синхронизации и резервного копирования данных.