Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

정렬된 집합의 최고 점수 요소를 얻는 방법 – Redis ZPOPMAX | 비즈팝맥스

이 튜토리얼에서는 redis ZPOPMAX 및 BZPOPMAX 명령을 사용하여 redis 데이터 저장소의 키에 저장된 정렬된 집합 값의 최고 점수 요소를 제거하고 반환하는 방법에 대해 알아봅니다.

ZPOPMAX 명령

이 명령은 지정된 키에 저장된 정렬된 집합 값에서 하나 이상의 최고 점수 요소를 제거하고 반환합니다. 명령은 카운트를 취합니다. 정렬된 설정 값에서 제거할 요소의 총 개수를 나타내는 인수로. 지정하지 않을 경우 count의 기본값은 1입니다. 요소가 반환될 때 점수가 가장 높은 요소가 먼저 나타나고 점수가 낮은 요소가 그 뒤를 이었습니다.

키가 존재하지만 키에 저장된 값이 정렬된 집합 데이터 유형이 아니면 오류가 반환되고 키가 없으면 Nil이 반환됩니다.

Redis ZPOPMAX 명령의 구문은 다음과 같습니다.-

구문:-

redis host:post> ZPOPMAX <keyname> <count>

출력:-

- (array) reply, representing elements and scores of the sorted set.
- (nil), if key does not exists.
- Error, if key exist and value stored at the key is not a sorted set.

예:-

정렬된 집합의 최고 점수 요소를 얻는 방법 – Redis ZPOPMAX | 비즈팝맥스

BZPOPMAX 명령

이 명령은 지정된 정렬 집합에서 팝할 요소가 없을 때 작업을 차단하기 때문에 ZPOPMAX 명령의 차단 버전입니다. 즉, 지정된 모든 정렬 집합이 비어 있거나 지정된 모든 키가 존재하지 않을 때 작업을 차단합니다.

지정된 키를 왼쪽에서 오른쪽으로 검사하여 비어 있지 않은 첫 번째 정렬된 설정 값에서 가장 높은 점수 요소를 제거하고 반환합니다. 예를 들어 명령 BZPOPMAX set1 set2 set3 0인 경우 set1 키가 실행됩니다. 존재하지 않음(빈 집합으로 간주), set2 빈 집합이고 set3입니다. 세 개의 요소가 포함된 다음 set3에 저장된 정렬된 세트 값 중 가장 높은 점수 요소를 제거하고 반환합니다. set1에서 set3까지 확인할 때 비어 있지 않은 첫 번째 집합이므로

이 명령은 시간 초과가 걸립니다. ( 정수 ) 차단할 최대 시간(초)을 나타내는 인수로 사용합니다. 0의 시간 초과는 무기한 차단하는 데 사용할 수 있습니다.

redis BZPOPMAX 명령의 구문은 다음과 같습니다.-

구문:-

redis host:post> BZPOPMAX <keyname> [ <keyname> ] <timeout>

출력:-

- (array) reply, three elements are returned where first element is name of the sorted set key, the 
  second element is the score of the popped element and third element is the popped element itself.
- (nil), when no element could be popped and timeout is expired.

예:-

정렬된 집합의 최고 점수 요소를 얻는 방법 – Redis ZPOPMAX | 비즈팝맥스

참조:-

  1. ZPOPMAX 명령 문서
  2. BZPOPMAX 명령 문서

redis 데이터 저장소에 저장된 정렬된 세트 값의 최고 점수 요소를 제거하고 반환하는 방법은 여기까지입니다. 마음에 드셨다면 댓글 섹션에 의견을 공유하고 다른 사람들과도 공유해 주세요.