Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Redis ZCOUNT 명령어 – 점수 범위별 정렬된 집합(Sorted Set)의 요소 개수 구하는 방법

이 튜토리얼에서는 특정 점수(score) 범위 안에 속한 정렬된 집합(Sorted Set) 값의 요소 개수를 구하는 방법을 알아봅니다. 이를 위해 Redis의 ZCOUNT 명령어를 사용합니다.

ZCOUNT 명령어란?

ZCOUNT 명령어는 인자로 전달된 min(최솟값) 점수보다 크거나 같고, max(최댓값) 점수보다 작거나 같은 점수를 가진 정렬된 집합의 요소 개수를 반환합니다.

기본적으로 minmax 인자는 닫힌 구간(inclusive, 경계값 포함)으로 처리되지만, 값 앞에 ( 문자를 붙이면 열린 구간(exclusive, 경계값 제외)으로 지정할 수 있습니다.

열린 구간(Exclusive) 활용 예시

ZCOUNT zset (1 5

위 명령어는 1 < score <= 5 조건을 만족하는 요소의 개수를 반환합니다. 즉, 최솟값 1은 제외되고 최댓값 5는 포함됩니다.

ZCOUNT zset (5 (10

반면 위 명령어는 5 < score < 10 조건을 만족하는 요소의 개수를 반환하며, 5와 10 모두 결과에서 제외됩니다.

무한대(-inf, +inf) 값 활용

minmax 인자에는 -inf(음의 무한대)와 +inf(양의 무한대) 값을 사용할 수 있습니다. 덕분에 정렬된 집합의 최고점 또는 최저점을 미리 알지 못해도, 특정 점수 이상 또는 이하의 모든 요소를 손쉽게 조회할 수 있습니다.

만약 키가 존재하지만 해당 키에 저장된 값이 정렬된 집합(Sorted Set) 데이터 타입이 아니라면 오류(Error)가 반환됩니다.

문법(Syntax)

redis host:post> ZCOUNT <keyname> <min> <max>

출력(Output)

- (integer): 지정된 점수 범위 내의 요소 개수를 나타내는 정수형 응답
- Error: 키가 존재하지만 저장된 값이 정렬된 집합 타입이 아닌 경우

예제(Example)

Redis ZCOUNT 명령어 – 점수 범위별 정렬된 집합(Sorted Set)의 요소 개수 구하는 방법

참고 자료(References)

  1. Redis 공식 문서 – ZCOUNT Command Docs

지금까지 점수 범위를 기준으로 정렬된 집합의 요소 개수를 구하는 방법을 살펴보았습니다. 이 글이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 널리 공유해 주세요!