DB/Redis
ZSORT 에서 동일한 score 랭킹 동위 처리하기
MAKGA
2023. 5. 18. 09:04
320x100
zsort 에서는 socre가 동일한 경우 value에 따라(오름차순) 순위가 부여된다.
시스템과 별개로 동점인 경우 동위로 표현하고 싶을 때는 다음과 같은 순서대로 계산한다.
key = "rank"
value = 001 - ex:UserUid
1. 내 점수(A)를 가져온다.
zscore "rank" 001 => A
2. 내 점수와 동일한 랭킹 목록(B)을 가져온다.
zrevrangebyscore "rank" A => B
3. 가져온 랭킹 목록(B)에서의 첫 랭킹(C)을 가져온다
zrevrank "rank" B[0] => C
320x100