BLPOP

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

데이터가 들어오면 리스트의 왼쪽에서 꺼내옴

사용법은 blpop key timeout 이다.
리스트에 데이터가 이미 있을 경우에는 LPOP와 같다. 데이터가 없을 경우에는 timeout(초) 만큼 기다린다.
timeout이 0일때, 데이터가 입력될때까지 기다린다. 데이터가 들어오면 pop을 하고 key, data, 시간(초)를 표시한다.

Example

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




명령>lpush key msg_2
결과>1



Client B


명령>blpop key 0
결과>0) key
1) msg_1
명령>blpop key 0


결과>0) key
1) msg_2
(3.60s)

애니메이션 보기



timeout이 5일때는 5초 동안 데이터가 들어오기를 기다린다.

사용법은 blpop key 5 이다.

Example

Client A

명령>lpush key msg_3
결과>1






Client B
명령>blpop key 5


결과>0) key
1) msg_3
(3.17s)
명령>blpop key 5
결과>(nil)
(5.08s)

애니메이션 보기



key 여러 개 지정 가능

사용법은 blpop key1 key2 timeout 이다.
지정한 순서대로 리스트를 확인해서 데이터가 있으면 하나만 가져오고 종료한다.
key를 여러 개 지정했다고 여러 개 데이터를 가져오는 것은 아니다.

Example

Client A
명령>lpush key1 msg_4
결과>1
명령>lpush key2 msg_5
결과>1






Client B




명령>blpop key1 key2 0
결과>0) key1
1) msg_4
명령>blpop key1 key2 0
결과>0) key2
1) msg_5

애니메이션 보기



명령문

BLPOP key [key ...] timeout

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

<< RPUSHX BLPOP BRPOP >>

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