blmove
BLMOVE
레디스 개발자 교육 신청 |
레디스 정기점검/기술지원 Redis Technical Support |
레디스 엔터프라이즈 서버 Redis Enterprise Server |
---|
리스트간 데이터 이동 - 대기
소스(source) 리스트에서 데이터(element)를 꺼내서 목적(destination) 리스트에 넣는다.
소스 리스트에서 데이터를 꺼낼 때 left/right를 지정하고,
목적 리스트에 데이터를 넣을 때 left/right를 지정한다.
LEFT는 리스트의 first 또는 head로 해석할 수 있고,
RIGHT는 리스트의 last 또는 tail로 해석할 수 있다.
다른 대기(blocking) 명령과 같이 데이터가 없으면 들어올 때까지(timeout) 기다린다.
Example: Reliable queue
명령> | lpush src_key msg_1 msg_2 msg_3 |
결과> | 3 |
명령> | lpush dest_key msg_A msg_B msg_C |
결과> | 3 |
명령> | blmove src_key dest_key left left 5 |
결과> | msg_3 |
명령> | lrange src_key 0 -1 |
결과> |
1) "msg_2" 2) "msg_1" |
명령> | lrange dest_key 0 -1 |
결과> |
1) "msg_3" 2) "msg_C" 3) "msg_B" 4) "msg_A" |
명령문
BLMOVE source destination LEFT|RIGHT LEFT|RIGHT timeout
- 이 명령은 version 6.2.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(1)입니다.
관련 명령 | LMOVE |
<< BRPOP | BLMOVE | BRPOPLPUSH >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.