XTRIM

Redis Developer Course Redis Technical Support Redis Enterprise Server

데이터 범위 삭제

사용법은 XTRIM key [MAXLEN 10] or MINID ID입니다.

  • MAXLEN: 이 경우 남길 데이터의 숫자를 입력합니다. 10을 입력하면 10개의 데이터를 남기고 나머지는 모두 삭제합니다.
  • MINID: 이 경우 ID를 입력합니다. 입력한 ID보다 작은(미만) 데이터를 삭제합니다.
    이 옵션은 버전 6.2에서 추가되었습니다.
  • 이 숫자나 ID를 threshold라고 합니다.

Example: MAXLEN

명령>XTRIM sensor-1234 MAXLEN 10
결과>(integer) 90
  • sensor-1234개 100의 데이터가 있었다면 오래된 순으로 90개를 지우고 최근 데이터 10개를 남깁니다.

Example: MINID

명령>XTRIM sensor-1234 MINID 1624776143068
결과>(integer) 5
  • ID가 1624776143068 보다 작은 데이터를 삭제합니다.

특별한 옵션 ~

특별한 옵션인 ~는 약(about)입니다. Sensor-1234에 100만개의 데이터가 있다면 999,990개를 지우는데 시간이 걸릴 것입니다. 그러면 데이터를 지우는 동안 데이터를 추가(XADD)하거나 처리(XREAD) 될 수 없습니다. 대량 데이터를 신속히 처리해야하는 스트림에서는 이런 처리 지연이 발생하지 않도록해야 합니다. 그래서 짧은 시간에 처리할 수 있을 정도의 데이터를 삭제하는 기능입니다.

LIMIT count

이 옵션은 삭제될 데이터 수를 제한합니다.


명령문

XTRIM key MAXLEN|MINID [=|~] threshold [LIMIT count]

  • 이 명령은 version 5.0.0 부터 사용할 수 있습니다.
  • MINID와 LIMIT는 버전 6.2에 추가되었습니다.
  • 논리적 처리 소요시간은 O(log(N)+M)이다. N은 스트림에 저장된 엔트리(ID) 개수이고 M은 삭제될 엔트리 개수입니다.
  • 삭제된 데이터(ID) 개수를 리턴한다.

<< XDEL XTRIM XGROUP >>

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