MIGRATE

<< RESTORE TOUCH >>

data를 다른 Redis Server로 옮긴다

사용법은 migrate host port key destination-db 이다.
key와 data를 지정한 Redis Server(instance)로 move한다.
지정한 Server에 해당 key가 이미 있으면 에러를 발생시키고, 옮기지 않는다.

Example

명령>set key value
결과>OK
명령>migrate 192.168.56.102 6379 key 0 1000
결과>OK
명령>exists key
결과>0
명령>set key XXXXX
결과>OK
명령>migrate 192.168.56.102 6379 key 0 1000
결과>(error) ERR Target instance replied with error: BUSYKEY Target key name already exists.
명령>get key   target Redis Server에 접속해서 확인  
결과>value

애니메이션 보기

이 명령은 내부적으로 dump, restore, del 명령을 실행한다.
copy, replace 옵션을 사용하지 않으면 source server가 3.0이고 target server가 2.8 이어도 된다.
그러나 이 두 옵션을 사용하려면 source, target server 모두 3.0 이상이어야 한다.
copy, replace 옵션은 3.0 부터 사용가능하다.


copy, replace 옵션 사용

사용법은 migrate host port key destination-db copy replace 이다.
copy는 source server에서 지우지 않는다.
replace는 target server에 해당 key가 있으면 덮어쓴다.
copy와 replace 옵션을 같이 사용해도 된다

Example

명령>migrate 192.168.56.102 6379 key 0 1000 copy
결과>OK
명령>exists key
결과>0
명령>set key YYYYY
결과>OK
명령>migrate 192.168.56.102 6379 key 0 1000 replace
결과>OK
명령>get key   target Redis Server에 접속해서 확인  
결과>YYYYY

애니메이션 보기



클러스터에서 키 이동

클러스터 환경에서 키(데이터)를 다른 마스터 서버로 이동하려면, 먼저 슬롯을 이동 예고하고 해야 한다.   CLUSTER SETSLOT IMPORTING/MIGRATING 명령을 수행 후 MIGRATE 명령으로 데이터를 이동한 후, CLUSTER SETSLOT NODE를 사용해서 완료해야 한다.
CLUSTER SETSLOT 명령은 여기실제 이동 예제는 클러스터 설계를 보기 바랍니다.



명령문

MIGRATE host port key|"" destination-db timeout [COPY] [REPLACE] [KEYS key [key ...]]

  • 이 명령은 version 2.6.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간 : source server에서는 내부적으로 dump + del 이 수행되고, target server에서는 restore가 수행된다.
  • copy, replace 옵션은 3.0부터 사용할 수 있다.
  • 3.2부터 multi key 옵션인 KEYS를 사용할 수 있다.
관련 명령 DUMP, RESTORE
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

명령을 실습해 보시려면 여기를 클릭해서 Redis Web Client 를 실행하세요.


<< RESTORE MIGRATE TOUCH >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 답글이 올라오면 이메일로 알려드리겠습니다.