XGROUP

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

소비자그룹

소비자그룹은 소비자(Consumer)를 지정해서 데이터를 읽을 수 있고, 소비자가 읽은 데이터를 제대로 처리했는지 확인할 수 있고, 만약 제대로 처리하지 못했다면 다른 소비자에게 할당해서 처리하는 방법을 제공합니다.

XGROUP 명령은 다음과 같은 기능이 있습니다.

  • 소비자그룹 만들기
  • 소비자그룹 삭제하기
  • 소비자 삭제하기
  • ID 재지정하기

소비자그룹 만들기

사용법은 XGROUP CREATE key group id-or-$입니다.

Example

명령>XGROUP CREATE sensor-1234 CG-A 0
명령>XGROUP CREATE sensor-1234 CG-B 1538568728545
명령>XGROUP CREATE sensor-1234 CG-C $
  • 첫 번째 명령은 소비자그룹을 CG-A로 이름 짓고 ID를 0으로 지정해서 sensor-1234 스트림의 첫 번째 데이터부터 읽도록 설정했습니다.
  • 두 번째 명령은 소비자그룹을 CG-B로 이름 짓고 특정 ID를 지정해서 이 ID 다음 데이터부터 읽도록 설정했습니다.
  • 세 번째 명령은 특별한 ID '$'를 사용해서 이 명령이 실행된 이후에 들어온 데이터부터 읽도록 설정했습니다.
  • 정상적으로 생성되면 'OK'를 리턴합니다.

소비자그룹 삭제하기

소비자그룹을 삭제합니다. 팬딩(pending)된 데이터가 있어도 삭제됩니다.
사용법은 XGROUP DESTROY key group입니다.

Example

명령>XGROUP DESTROY sensor-1234 CG-A

정상적으로 삭제되면 1을 리턴합니다. 없는 소비자그룹을 지정하면 0을 리턴합니다.

소비자 삭제하기

소비자를 삭제합니다. 소비자는 XREADGROUP 명령으로 데이터를 읽을 때 소비자를 지정하면 자동으로 생깁니다.
사용법은 XGROUP DELCONSUMER key group consumer입니다.

Example

명령>XGROUP DELCONSUMER sensor-1234 CG-A consumer

삭제하는 소비자에 팬딩된 데이터가 있을 경우 그 개수를 리턴합니다. 그렇지 않으면 0을 리턴합니다. 없는 소비자를 지정한 경우에도 0을 리턴합니다.

ID 재지정하기

XREADGROUP 명령으로 읽기 시작할 ID를 재지정합니다. 처음 ID 지정은 XGROUP CREATE 명령에서 합니다.
사용법은 XGROUP SETID key group id-or-$입니다.

Example

명령>XGROUP SETID sensor-1234 CG-A 0
명령>XGROUP SETID sensor-1234 CG-A 1538568728545
명령>XGROUP SETID sensor-1234 CG-A $

정상적으로 처리되면 'OK'를 리턴합니다.


명령문

XGROUP
[CREATE key group id-or-$]
[DESTROY key group]
[DELCONSUMER key group consumer]
[SETID key group id-or-$]

  • 이 명령은 version 5.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(log(N))이다. N은 스트림에 저장된 엔트리(ID) 개수이다.
    DESTROY의 경우 삭제할 팬팅 데이터가 있으면 그 개수 만큼 더 소요된다. O(M)
  • 리턴 값은 부명령(subcommend)마다 다르다.

<< XTRIM XGROUP XREADGROUP >>

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