brpop
BRPOP
레디스 개발자 교육 신청 |
레디스 정기점검/기술지원 Redis Technical Support |
레디스 엔터프라이즈 서버 Redis Enterprise Server |
---|
데이터가 들어오면 리스트의 오른쪽에서 꺼내옴
사용법은 brpop key timeout 이다.
리스트에 데이터가 이미 있을 경우에는 RPOP와 같다. 데이터가 없을 경우에는 timeout(초) 만큼 기다린다.
timeout이 0일때, 데이터가 입력될때까지 기다린다. 데이터가 들어오면 pop을 하고 key, data, 시간(초)를 표시한다.
Example
Client A
명령> | lpush key msg_1 |
결과> | 1 |
명령> | lpush key msg_2 |
결과> | 1 |
Client B
명령> | brpop key 0 |
결과> | 0) key 1) msg_1 |
명령> | brpop key 0 |
결과> | 0) key 1) msg_2 (3.60s) |
timeout이 5일때는 5초 동안 데이터가 들어오기를 기다린다.
사용법은 brpop key 5 이다.
Example
Client A
명령> | lpush key msg_3 |
결과> | 1 |
Client B
명령> | brpop key 5 |
결과> | 0) key 1) msg_3 (3.17s) |
명령> | brpop key 5 |
결과> | (nil) (5.08s) |
key 여러 개 지정 가능
사용법은 brpop key1 key2 timeout 이다.
지정한 순서대로 리스트를 확인해서 데이터가 있으면 하나만 가져오고 종료한다.
key를 여러 개 지정했다고 여러 개 데이터를 가져오는 것은 아니다.
Example
Client A
명령> | lpush key1 msg_4 |
결과> | 1 |
명령> | lpush key2 msg_5 |
결과> | 1 |
Client B
명령> | brpop key1 key2 0 |
결과> | 0) key1 1) msg_4 |
명령> | brpop key1 key2 0 |
결과> | 0) key2 1) msg_5 |
명령문
BRPOP key [key ...] timeout
- 이 명령은 version 2.0.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(1)입니다.
관련 명령 | BLPOP, BRPOPLPUSH |
Clients for Java | Jedis, Lettuce, Redisson | Clients for C | Hiredis |
<< BLPOP | BRPOP | BLMOVE >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.