MOVE 로 데이터베이스 간 키 이동
이 단계에서는 MOVE 명령을 사용하여 한 Redis 데이터베이스에서 다른 데이터베이스로 키를 이동하는 방법을 배웁니다. Redis 는 단일 인스턴스 내에서 여러 논리적 데이터베이스를 지원합니다. 기본적으로 0 에서 15 까지 번호가 매겨진 16 개의 데이터베이스가 있습니다. MOVE 명령을 사용하면 현재 선택된 데이터베이스에서 다른 데이터베이스로 키를 전송할 수 있습니다.
먼저, Redis 명령줄 인터페이스 (redis-cli) 를 사용하여 Redis 서버에 연결되어 있는지 확인합니다. ~/project 디렉토리에서 터미널을 열고 다음 명령을 입력합니다.
redis-cli
Redis 프롬프트 127.0.0.1:6379>가 표시됩니다. 기본적으로 데이터베이스 0 에 연결됩니다.
이전 단계에서 데이터베이스 0 에 값 myvalue를 가진 mykey라는 키가 이미 있습니다. 이를 확인해 보겠습니다.
GET mykey
출력으로 "myvalue"가 표시됩니다.
이제 MOVE 명령을 사용하여 mykey 키를 데이터베이스 0 에서 데이터베이스 1 로 이동해 보겠습니다.
MOVE mykey 1
출력으로 (integer) 1이 표시됩니다. 이는 키가 성공적으로 이동되었음을 의미합니다.
키가 이동되었는지 확인하려면 데이터베이스 0 에서 mykey 키의 값을 가져오십시오.
GET mykey
출력으로 (nil)이 표시됩니다. 이는 키가 더 이상 데이터베이스 0 에 존재하지 않음을 의미합니다.
이제 SELECT 명령을 사용하여 데이터베이스 1 로 전환합니다.
SELECT 1
출력으로 OK가 표시됩니다.
이제 데이터베이스 1 에서 mykey 키의 값을 가져오십시오.
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"가 표시됩니다.
exit를 입력하거나 Ctrl+D를 눌러 redis-cli를 종료하는 것을 잊지 마십시오. 이렇게 하면 명령이 제대로 기록됩니다.
exit
이제 MOVE 명령을 사용하여 Redis 데이터베이스 간에 키를 성공적으로 이동했습니다.