2014-12-08 3 views
1

Я надеюсь запустить команду SLAVEOF из нового окна redis, чтобы перенести данные с узла Elasticache в нормальный блок EC2, работающий redis. В идеале я бы запускал что-то вроде SLAVEOF IP DB_INDEX, так что я просто вытаскиваю данные из DB_INDEX на мастер вместо всех доступных баз данных. Это возможно?Redis SLAVEOF для одной базы данных

+0

AFAIK это невозможно. Посмотрите документацию для команды [slaveof] (http://redis.io/commands/slaveof). PS: Я повторно копировал Elasticache на сервер redis в новом экземпляре EC2 и работал безупречно. – tobiash

ответ

1

Нет, вы не можете реплицировать только одну «базу данных» в Redis. Их легче воспринимать как «ключи», а не отдельные базы данных. Кроме того, согласно документации в Elasticache, способ импортирования данных - загрузить моментальный снимок (файл RDB), а не через команду репликации.

Поскольку вы просто делаете миграцию вы могли:

  1. Реплицировать к чистому примеру
  2. перебрать все базы данных вы не хотите, и делать FLUSHDB (не делают FLUSHALL).
  3. Затем, если вы хотите, чтобы данные находились на DB0, а его нет, вы можете использовать команду MOVE для каждой клавиши, чтобы поместить ее в базу данных по умолчанию 0.

Это приведет к тому, что ваш новый экземпляр будет иметь только те данные, которые вы хотите там, в базе данных «0», если вы решили переместить ключи.

+0

Спасибо, Билл. Мы фактически идем в другую сторону (Elasticache -> EC2), поэтому команда SLAVEOF делает вещи немного легче, так как нам не нужно беспокоиться о переносе дельта, созданного во время миграции. Согласно вышеизложенному комментарию tobiash, похоже, мы не можем делать то, что надеялись, что, честно говоря, это не конец света. – cmwright

+0

Пока вы можете выдать slaveof экземпляру EC2, который покрыл пункт 1 в моем ответе. Прошу прощения, если это было недостаточно ясно. Я не уверен, почему я оставил свою часть, чтобы уйти от боли. Конечно, у вас будет дельта с момента начала шага 2. Но, учитывая, что вы не можете реплицировать одну БД, это лучшее, что вы можете получить, я верю. Это одна из причин, по которой я рекомендую избегать команды select. –

Смежные вопросы