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