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

Redis ZLEXCOUNT 명령어 – 사전순 범위에 해당하는 정렬된 집합(Sorted Set) 요소 개수 구하기

이 튜토리얼에서는 Redis의 ZLEXCOUNT 명령어를 사용하여 정렬된 집합(Sorted Set)에서 특정 범위(사전순 기준)에 속한 요소의 개수를 조회하는 방법을 알아보겠습니다.

ZLEXCOUNT 명령어란?

ZLEXCOUNT 명령어는 정렬된 집합 값 중에서 요소의 문자열 표현이 minmax 인자로 지정된 범위 안에 있는 요소들의 개수를 반환합니다. 이때 사전순(lexicographical) 정렬을 강제하기 위해 집합 내 모든 요소는 동일한 점수(score)로 삽입되어 있어야 합니다.

범위 지정 방식

minmax 인자는 반드시 ( 또는 [로 시작해야 하며, 각 기호의 의미는 다음과 같습니다.

  • [ : 닫힌 구간(closed interval), 즉 해당 값을 포함(inclusive)
  • ( : 열린 구간(open interval), 즉 해당 값을 제외(exclusive)

예를 들어 다음 명령어는 a <= 요소 <= f 조건을 만족하는 요소의 개수를 반환합니다.

ZLEXCOUNT set [a [f

반면 아래 명령어는 a <= 요소 < f 조건, 즉 f를 제외한 요소의 개수를 반환합니다.

ZLEXCOUNT set [a (f

특수 값: 무한대 표현

minmax 인자에는 특수 값인 +(양의 무한대 문자열)와 -(음의 무한대 문자열)를 사용할 수 있습니다. 예를 들어 다음 명령어는 전체 정렬된 집합의 크기를 반환합니다.

ZLEXCOUNT set - +

주의 사항

키가 존재하지만 해당 키에 저장된 값이 정렬된 집합(Sorted Set) 타입이 아닌 경우 에러가 반환됩니다.

문법

redis host:port> ZLEXCOUNT <keyname> <min> <max>

반환값

  • 지정된 범위 내 요소의 개수를 나타내는 정수(integer)
  • 키가 존재하지만 저장된 값이 정렬된 집합이 아닌 경우 에러(Error)

예제

Redis ZLEXCOUNT 명령어 – 사전순 범위에 해당하는 정렬된 집합(Sorted Set) 요소 개수 구하기

참고 자료

  1. Redis 공식 문서 – ZLEXCOUNT Command Docs

지금까지 Redis ZLEXCOUNT 명령어를 활용해 정렬된 집합에서 특정 사전순 범위에 포함된 요소의 개수를 구하는 방법을 살펴보았습니다. 도움이 되셨다면 댓글로 의견을 남겨주시고, 주변에도 널리 공유해 주세요!