BRPOP

  • 2.0.0. 이후 버전에서 사용
  • 시간복잡도 : O(1)
BRPOP은 RPOP의 블럭(Block) 버전이다. 기본적으로 RPOP 즉 리스트의 마지막에 있는 아이템을 POP하지만, POP할 아이템이 없을 경우 timeout 시간만큼 블럭된다. timeout 시간만큼 블럭되는 것을 제외하고는 RPOP와 동일하므로 자세한 사용법은 RPOP 문서를 참고하면 된다.

반환 값

  • timeout시간 동안 pop할 값이 없다면 nil을 반환한다.
  • pop할 값이 있다면, 2개의 값을 반환한다. 첫 번째 값은 key의 이름이고, 두 번째 값은 POP된 value 다.

사용 법

redis> RPUSH items:yundream item01 item02 item03
(integer) 3
redis> BRPOP items:yundream 0
1) "items:yundream"
2) "item03"
redis> LRANGE items:yundream 0 -1
1) "item01"
2) "item02"