XREAD

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

데이터 읽기

사용법은 XREAD count 1 STREAMS key ID입니다.

Example

명령>XREAD count 1 STREAMS sensor-1234 0
결과>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-0
            2) 1) "temperature"
                2) "98.7"
명령>XREAD count 1 STREAMS sensor-1234 1538319053569-0
결과>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-1
            2) 1) "temperature"
                2) "98.8"
  • 지정한 ID보다 큰 데이터를 읽어옵니다. 그러므로 XRANGE 처럼 +1을 할 필요가 없습니다. 그래서 반복해서 읽을 때 XRANGE보다 편리합니다.
  • XRANGE에 비해서 또 다른 점은 key를 여러 개 지정할 수 있습니다.
    XREAD count 1 STREAMS sensor-1234 sensor-5678 0 0
    이때 count는 각 키당 읽어오는 데이터의 개수입니다.

BLOCK 옵션

이것은 List의 BLPOP과 비슷합니다. 사용법은 다음과 같습니다.

Example

명령>XREAD count 1 block 1000 STREAMS sensor-1234 $
결과>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-0
            2) 1) "temperature"
                2) "98.7"
명령>XREAD count 1 block 1000 STREAMS sensor-1234 1538319053569-0
결과>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-1
            2) 1) "temperature"
                2) "98.8"
  • BLOCK 옵션 다음에는 밀리초를 입력합니다. 해당하는 데이터를 이 시간 동안 기다렸다 읽어옵니다.
  • 처음 읽을 때는 특별한 ID인 $를 사용하는 것이 좋습니다. 이것은 명령이 실행된 이 후 들어오는 데이터를 읽습니다.

명령문

XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]

  • 이 명령은 version 5.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(log(N)+M)이다. N은 스트림에 저장된 엔트리(ID) 개수이고, M은 리턴될 엔트리 개수이다.

<< XREVRANGE XREAD XDEL >>

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