2010-12-01 3 views
0

ZRANK는 정렬 된 집합에 속한 구성원의 순위 인 을 낮은 점수에서 높은 점수 순으로 반환합니다. ZREVRANK는 높은 점수에서 낮은 점수 순으로 점수가 매겨진 순위를 반환합니다. 지정된 멤버가 소트 세트 내에 존재하지 않는 경우는, 특별한 값 'nil'가 돌려 주어집니다. 두 명령 모두 구성원의 반환 된 순위 (또는 인덱스)는 0입니다.zrank about redis

점수가 낮은 순서에서 높은 순서로 정렬되는 것은 무엇입니까? ZREVRANK는 높은 점수에서 낮은 점수 순으로 점수가 매겨진 순위를 반환합니다. 내 마음 속에서, ZRANK가 회원의 점수를 얻습니다. 왜 약초가 낮은 것부터 높은 것까지 주문 했니?

답변

1

여기서 중요한 점은 ZRANK는 점수가 아닌 멤버의 0부터 시작하는 인덱스를 반환한다는 것입니다. 따라서 "낮은 점수에서 높은 점수"또는 "높은 점수에서 낮은 점수 순으로 정렬 된 점수"는 정렬 된 집합을 읽는 방향에 대한 참조를 제공하기위한 것입니다.

이 고려 : C의 순위입니다

redis> zadd foo 0 a 
(integer) 1 
redis> zadd foo 1 b 
(integer) 1 
redis> zadd foo 2 c 
(integer) 1 
redis> zrank foo c 
(integer) 2 
redis> zrevrank foo c 
(integer) 0 

주 2 "높은 낮은 점수"에서 읽을 수 있지만 그것은

"저에 높은 점수"에서 읽을 때 revrank이 0입니다 될 때
0

명령은 "REV"가 "reversed"인 명령과 거의 같습니다.