Перемещение ключа между базами данных с помощью команды MOVE
В этом шаге вы узнаете, как переместить ключ из одной базы данных Redis в другую с помощью команды MOVE
. Redis поддерживает несколько логических баз данных в пределах одного экземпляра (instance). По умолчанию существует 16 баз данных, пронумерованных от 0 до 15. Команда MOVE
позволяет переносить ключ из текущей выбранной базы данных в другую.
Сначала убедитесь, что вы подключены к серверу Redis с помощью интерфейса командной строки Redis (redis-cli
). Откройте терминал в вашем каталоге ~/project
и введите следующую команду:
redis-cli
Вы должны увидеть приглашение Redis: 127.0.0.1:6379>
. По умолчанию вы подключены к базе данных 0.
У нас уже есть ключ с именем mykey
со значением myvalue
в базе данных 0 из предыдущего шага. Давайте проверим это:
GET mykey
Вы должны увидеть вывод: "myvalue"
.
Теперь давайте переместим ключ mykey
из базы данных 0 в базу данных 1 с помощью команды MOVE
:
MOVE mykey 1
Вы должны увидеть вывод: (integer) 1
, что означает, что ключ был успешно перемещен.
Чтобы убедиться, что ключ был перемещен, попробуйте получить значение ключа mykey
в базе данных 0:
GET mykey
Вы должны увидеть вывод: (nil)
, что означает, что ключ больше не существует в базе данных 0.
Теперь переключитесь на базу данных 1 с помощью команды SELECT
:
SELECT 1
Вы должны увидеть вывод: OK
.
Теперь попробуйте получить значение ключа mykey
в базе данных 1:
GET mykey
Вы должны увидеть вывод: "myvalue"
, что подтверждает, что ключ был успешно перемещен в базу данных 1.
Наконец, давайте переместим ключ mykey
обратно в базу данных 0 для следующих шагов. Сначала вернитесь в базу данных 0:
SELECT 0
Вы должны увидеть вывод: OK
.
Теперь переместите ключ mykey
из базы данных 1 в базу данных 0:
MOVE mykey 0
Вы должны увидеть вывод: (error) ERR source and destination objects are the same
.
Эта ошибка возникает потому, что вы выполнили SELECT 0
, а затем MOVE mykey 0
в той же сессии. Команда MOVE
не позволяет перемещать ключ в ту же базу данных, в которой он находится в данный момент.
Чтобы переместить ключ в другую базу данных, вам нужно сначала выбрать целевую базу данных, а затем использовать команду MOVE
.
Например, сначала выберите базу данных 1:
SELECT 1
Вы должны увидеть вывод: OK
.
Теперь переместите ключ mykey
из базы данных 1 в базу данных 0:
MOVE mykey 0
Вы должны увидеть вывод: (integer) 1
, что означает, что ключ был успешно перемещен.
Теперь вернитесь в базу данных 0:
SELECT 0
Убедитесь, что ключ вернулся в базу данных 0:
GET mykey
Вы должны увидеть вывод: "myvalue"
.
Не забудьте выйти из redis-cli
, набрав exit
или нажав Ctrl+D
. Это гарантирует, что ваши команды будут правильно зарегистрированы.
exit
Теперь вы успешно переместили ключ между базами данных Redis с помощью команды MOVE
.