BRPOPLPUSH

<< BRPOP SETS Introduction >>

데이터가 들어오면 리스트 오른쪽에서 데이터를 꺼내서 왼쪽에 넣는다.

사용법은 brpoplpush src_key dest_key timeout 이다.
결과는 rpop + lpush와 같음. 이 명령은 원자적으로 동작한다.
리스트에 데이터가 이미 있을 경우에는 RPOPLPUSH와 같다. 데이터가 없을 경우에는 timeout(초) 만큼 기다린다.
timeout이 0일때, 데이터가 입력될때까지 기다린다. 데이터가 들어오면 pop을 하고 data, 시간(초)를 표시한다.

Example: Reliable queue

Client A
명령>lpush scr_key msg_1
결과>1



명령>lpush scr_key msg_2
결과>1


Client B


명령>brpoplpush src_key dest_key 0
결과>msg_1
명령>brpoplpush src_key dest_key 0


결과>msg_2
(4.30s)

애니메이션 보기



timeout 지정

사용법은 brpoplpush src_key dest_key timeout 이다.

Example: Reliable queue

Client A
명령>lpush src_key msg_1
결과>1






Client B


명령>brpoplpush src_key dest_key 5
결과>msg_1
명령>brpoplpush src_key dest_key 5
5초 후
결과>(nil)
(5.03s)

애니메이션 보기



명령문

BRPOPLPUSH source destination timeout

  • 이 명령은 version 2.2.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(1)입니다.
관련 명령 BLPOP, BRPOP
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

이 blocking(대기)명령은 웹 특성상 Redis Web Client에서 실행할 수 없습니다.


<< BRPOP BRPOPLPUSH SETS Introduction >>

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

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