Одним из способов копирования данных из конкретной db Redis с одного сервера в указанную db Redis на другом сервере является следующий вариант.
Открываем ssh клиент и набираем в нем следующую коамнду
redis-cli -h $source_host -p $source_port -a $source_pass -n $source_db --scan --pattern '*' | while read key; do echo "Copying $key"; redis-cli --raw -h $target_host -p $target_port -a $target_pass -n $target_db DUMP "$key" | head -c -1|redis-cli -x -h $target_host -p $target_port -a $target_pass -n $target_db RESTORE "$key" 0; done
Где:
Также должны быть выполнены условия:
После запуска команды, вы будете наблюдать процесс копирования, который сопровождается выводом строк вида
Copying 928F32EDA461026FE040A8C01E02395E:A7CD147C07E7CD1BE040A8C0630328EC:dateDeparture
OK
Так как приведенный вариант скрипта предполагает копирование в пустую БД, то если копируемый ключ уже есть в $target_db, то вы увидите строку вида
Copying 928F32EDA461026FE040A8C01E02395E:A7CD147C07E7CD1BE040A8C0630328EC:dateDeparture
(error) BUSYKEY Target key name already exists.
только авторизованные пользователи могут оставлять комментарии