cluster_setslot
Redis CLUSTER SETSLOT
Redis Cluster Course | Redis Technical Support | Redis Enterprise Server |
---|
Redis CLUSTER SETSLOT
CLUSTER SETSLOT은 슬롯을 이동하는 명령이다.
IMPORTING/MIGRATING 명령 후에 CLUSTER NODES에 해당 슬롯의 정보를 볼 수 있다.  
빈 슬롯은 SETSLOT 명령만으로 이동이 가능하나, 키가 있는 슬롯은
importing/migrating 후 MIGRATE 명령으로 데이터를 이동한 후, setslot node를 사용해야 한다.
이 문서는 버전 3.2.0을 기준으로 만들었습니다.
사용법
- IMPORTING : 타켓 노드에서 소스 노드에 있는 슬롯을 가져오기로 예약한다.
- MIGRATING : 소스 노드의 슬롯을 대상 노드로 보내기로 예약한다.
- NODE : 슬롯을 이동/확정한다.
- STABLE : 가져오기(importing)/보내기(migrating) 예약을 취소한다.
CLUSTER SETSLOT IMPORTING
사용법: destination-node> CLUSTER SETSLOT <slot> IMPORTING <source-node-id>
다음은 7001번 서버에서 7000번이 가지고 있는 0번 슬롯을 가져오기(importing) 예약하는 명령이다.
OK
CLUSTER SETSLOT MIGRATING
사용법: source-node> CLUSTER SETSLOT <slot> MIGRATING <destination-node-id>
다음은 7000번 서버에서 0번 슬롯을 7001번 서버로 보내기(migrating) 예약하는 명령이다.
OK
예약의 효과: importing/migrating 예약 한 후 그 슬롯에 대한 키 입력 처리 방식
- 예약이 완료된 후 7000번 서버의 해당 슬롯에 속하는 키를 입력하면 "ASK ip:port"가 리턴된다. 그러면 대상 ip:port에 'ASKING' 명령 실행 후 입력 명령을 실행하면 정상적으로 처리된다.
(error) ASK 0 127.0.0.1:7001
127.0.0.1:7001> ASKING
OK
127.0.0.1:7001> set key04599 value
OK
CLUSTER SETSLOT NODE
사용법: source/destination-node> CLUSTER SETSLOT <slot> NODE <destination-node-id>
슬롯을 대상 노드로 이동시킨다.
이 명령은 source 노드와 destination 노드에서 각각 실행해야 한다.
슬롯에 키가 있다면
가져오기(importing), 보내기(migrating) 예약하고
COUNTKEYSINSLOT,
GETKEYSINSLOT으로 확인 후
MIGRATE
명령으로 키를 이동시킨다.
내부적으로 CLUSTER DELSLOTS과 ADDSLOTS을 실행한다.
키가 있는 슬롯은 아래와 같은 순서로 이동한다.
1) Setslot Importing
2) Setslot Migrating
3) Migrate
4) Setslot Node
키가 없는 슬롯은 다음과 같이 쉘 명령으로 여러 슬롯을 이동할 수 있습니다.
do redis-cli -c -p 7000 cluster setslot $i node aec338f2201bef75cff1b43c3c57ee884265b604;
done
OK
CLUSTER SETSLOT STABLE
사용법: CLUSTER SETSLOT <slot> STABLE
보내기(migrating), 가져오기(importing) 예약을 취소하는 명령이다.
다음은 예약 후 cluster nodes로 정보를 조회해 본 다음 stable로 취소하고,
다시 조회해 본 것이다.
4b756c6287bc5a6b5bf1cddab16584c51233da2d 127.0.0.1:7000 myself,master - 0 0 6 connected 0-5000 [0->-aec338f2201bef75cff1b43c3c57ee884265b604]
127.0.0.1:7000> cluster setslot 0 stable
OK
127.0.0.1:7000> cluster nodes
4b756c6287bc5a6b5bf1cddab16584c51233da2d 127.0.0.1:7000 myself,master - 0 0 6 connected 0-5000
명령문
CLUSTER SETSLOT slot IMPORTING|MIGRATING|STABLE|NODE [node-id]
- 이 명령은 version 3.0.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(1)이다.
Clients for Java | Jedis, Lettuce | Clients for C | Hiredis |
<< CLUSTER GETKEYSINSLOT | CLUSTER SETSLOT | CLUSTER SLOTS >> |
---|
조회수 :