찾다

 >  Q&A  >  본문

redis - REIDS 排名问题, 取前后5名

用 zAdd 加入排名

zAdd ranks 1000 老王
zAdd ranks 1001 如花
zAdd ranks 1002 死鱼
....

想取 用户老王及老王的前后各5名, 有没有简便方法?

谢谢。

怪我咯怪我咯2798일 전799

모든 응답(1)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-22 09:01:51

    먼저 Lao Wang의 현재 순위를 가져옵니다. ZRANK ranks 老王, Lao Wang의 순위가 N위라고 가정합니다.

    (여기서 말하는 상위 5개는 라오왕보다 점수가 높은 분, 하위 5개는 라오왕보다 점수가 낮은 분을 의미합니다)
    그렇다면 Lao Wang의 상위 5위는 다음과 같습니다. ZRANGE ranks N+1 N+6,
    Lao Wang의 마지막 5개는 ZRANGE ranks N-6 N-1입니다.

    Lao Wang 자신과 전후를 합치면 다음과 같습니다. ZRANGE ranks N-6 N+6.

    참고: 먼저 N-6과 N-1이 0보다 작은지 확인해야 합니다.

    회신하다
    0
  • 취소회신하다