2013-10-07 3 views
1

순위가있는 순위표를 구현하려고하는데 데이터가 Redis의 정렬 된 집합으로 저장됩니다. 내가 알아 내기 위해 노력하고있어 일부 구현하는 방법이다 조밀 한 (즉, "1-2-2-3") 예를 들어, 사용자가 thusly 히 순위 곳, 순위 :Redis 정렬 된 집합으로 치밀한 순위 구현

Score User Rank 
--------------------- 
22  user1 1 
21  user2 2 
21  user3 2 
21  user4 2 
20  user5 3 
20  user6 3 

이 답변 : https://stackoverflow.com/a/14944280/2177, 내가 필요한 거의하지만, 그것은 "1-2-2-4는"예를 들어, 내 응용 프로그램에 바람직하지 않은, 랭킹 금액 : 그것은 매우 일반적인 사용 사례가 될 것 같은

1-2-2-4 Ranking 
Score User Rank 
--------------------- 
22  user1 1 
21  user2 2 
21  user3 2 
21  user4 2 
20  user5 5 
20  user6 5 

이 보인다. 누구든지 성공적으로 Redis에서 그런 것을 구현 했습니까? 그렇다면 어떻게해야합니까?

답변

1

나는 결국 밀도가 높은 순위에서 각각의 위치를 ​​쿼리 할 수있는 고유 한 점수 만 포함하는 두 번째 정렬 된 집합을 추가했습니다.

+2

어떻게 구현 했습니까? 고유 점수 세트의 값은 [22, 21, 20]이며 이는 고유 점수 20의 순위가 3임을 의미하지만 5가되어야합니다. 혼란 스럽습니다. 내가 여기서 뭔가 놓친거야? –

+1

@RegMem 당신이'DenseRanking'과 반대로'CompetitionRanking'을 의미한다고 생각합니다 – Shouvik

+0

@Shouvik - 업데이트 된 제목, 그것을 지적 해 주셔서 고마워요. –

관련 문제