xtrim
XTRIM
레디스 개발자 교육 신청 |
레디스 정기점검/기술지원 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) 개수를 리턴한다.
<< XDELS | XTRIM | XGROUP >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.