blpop
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
답글이 올라오면 이메일로 알려드리겠습니다.