cluster_replicate
Redis CLUSTER REPLICATE
레디스 클러스터 교육 |
레디스 정기점검/기술지원 Redis Technical Support |
레디스 엔터프라이즈 서버 Redis Enterprise Server |
---|
Redis CLUSTER REPLICATE
CLUSTER REPLICATE는 자신을 지정한 node-id의 슬레이브로 만드는 명령이다.
이 문서는 버전 3.2.0을 기준으로 만들었습니다.
사용법
Node-id로 지정하는 노드는 마스터 노드이어야만 한다.
슬레이브 노드를 지정할 수 없다.
자신은 슬롯이 할당되지 않는 마스터이거나 슬레이브이어야 한다.
이 명령은 레디스 클러스터 구성 시, 그러니까 슬롯을 할당하기 전에 사용하는 것이 거의 제한 없이 사용할 수 있다.
물론 레디스 클러스터 운영 중에도 사용할 수 있지만, 슬롯이 할당되면 명령을 사용하는데 제한이 있다.
설명
- 자신이 슬레이브 노드면 데이터(키)를 가지고 있어도, 마스터 노드를 다른 마스터로 바꿀 수 있다.
- 슬롯이 할당된 마스터 노드는 다른 노드의 슬레이브가 될 수 없다. 먼저 슬롯을 제거해야 한다.
슬롯이 할당된 마스터 노드에서 replicate 명령을 실행하면 다음과 같은 에러가 나다. - node-id로 슬레이브 노드를 지정하면 다음과 같은 에러가 난다.
- 클러스터를 설계할 때는 노드의 역할을 정하고, 맨 끝 슬레이브부터 역할을 지정한다. 그래야 슬레이브에 슬레이브를 지정할 수 있다.
127.0.0.1:7005> cluster replicate df85034d1e2296df6177a132e48dd8a567bc38d1
OK
OK
127.0.0.1:7000> cluster replicate 58b3fae50af6cdb2870f47910b9dc2e59675830c
(error) ERR To set a master the node must be empty and without assigned slots.
(error) ERR To set a master the node must be empty and without assigned slots.
127.0.0.1:7000> cluster replicate 25d33d931cfb16072745ddd8f68afdc1dadabbc3
(error) ERR I can only replicate a master, not a slave.
(error) ERR I can only replicate a master, not a slave.
명령문
CLUSTER REPLICATE node-id
- 이 명령은 version 3.0.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(1)이다.
Clients for Java | Jedis, Lettuce | Clients for C | Hiredis |
<< CLUSTER NODES | CLUSTER REPLICATE | CLUSTER SLAVES >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.