Самый быстрый способ скопировать 35 ГБ Redis из одного экземпляра в другой (в стандарте Azure).

У нас есть два экземпляра Azure Redis в Azure. Источник находится в «стандартной» настройке в Azure. Нам нужно скопировать все 35 ГБ из стандартной сборки в премиум-сборку (не мигрировать).

Каков наилучший метод? Данные должны быть статическими. Вы не можете экспортировать данные в стандарте, вы также не можете сегментировать. Мы исчерпали размер, и нам нужно перейти на тот, который поддерживает сегментирование.


person user1005246    schedule 25.05.2018    source источник
comment
У вас есть доступ к dump.rdb файлу?   -  person Imaskar    schedule 28.05.2018
comment
У нас нет доступа к этому файлу.   -  person user1005246    schedule 31.05.2018
comment
Я обновил свой ответ, проверьте его   -  person Imaskar    schedule 04.06.2018
comment
Не могли бы вы масштабировать кэш до премиум-класса? Тогда вы получите доступ к экспорту. В зависимости от архитектуры вашего приложения вы также можете избежать экспорта/импорта, масштабируя первый кеш и вообще не изменяя приложение.   -  person Adam    schedule 08.09.2018


Ответы (1)


1. Редактирование файла конфигурации

В наборе конфигурационных файлов целевого Redis

slaveof sourceIP sourcePort
slave-read-only no

Он будет эффективно копировать исходную базу данных в новую, передавая файл RDB. Затем вы можете закомментировать эти строки и закрыть исходный экземпляр. Обратите внимание, что старые ключи в целевом экземпляре не сохраняются и не перезаписываются.

2. Команда CONFIG SET

Не поможет вам в этом, печальная история.

127.0.0.1:6371> CONFIG SET slaveof "localhost 6370"
(ошибка) ERR Неподдерживаемый параметр CONFIG: slaveof

3. Команда MIGRATE

MIGRATE remotehost remoteport "" 0 5000 COPY KEYS *

Тоже не будет работать. Но есть обходной путь: https://stackoverflow.com/a/42686861/78569

redis-cli --raw KEYS '*' | xargs redis-cli МИГРАЦИЯ my.redis 6379 "" 0 5000 КЛЮЧЕЙ

(пожалуйста, проголосуйте за этого парня, если вы его использовали)

4. Скрипты оболочки

Вот скрипт, который направляет вывод KEYS в MIGRATE и добавляет некоторые другие функции: /nicStuff/ee7feb8eed00174a46db42812545b403

5. Загрузка РБД

Вы можете скачать дамп RDB с протоколом Redis, даже если у вас нет доступа к файлу на сервере:

redis-cli -h <host> -p <port> --rdb /path/to/local/copy/dump.rdb
person Imaskar    schedule 31.05.2018
comment
попробую 5-й вариант. у меня есть linux redis, работающий на каком-то сервере, чьи данные мне нужно было скопировать на мой redis, который работает в Windows 10. давайте посмотрим результат - person Kamran Shahid; 16.05.2019