次のコラム Redis チュートリアル では、Redis を使用してランキング機能を実装する方法を紹介します。
#ランキング機能は非常に一般的な要求です。Redis の順序付きセットの機能を使用してランキングを実装することは、迅速で良い選択です。
「ユーザーポイント一覧」など総合的なランキングが効果的です。効果がなく、常に総合ランキングに基づいてランキングが行われる場合、常に古いユーザーが数名リストの上位に表示される可能性があり、新規ユーザーにとっては非常にイライラします。 まず、「今日のポイントリスト」を見てみましょう。ソートルールは、今日ユーザーが追加した新しいポイントの多い順です。 次に、ユーザーがポイントを追加すると、その日のポイントの増加を記録するオーダード セットを操作します。今日が 2015 年 4 月 1 日で、UID 1 のユーザーが特定の操作により 5 ポイントを獲得したとします。
Redis コマンドは次のとおりです:
ZINCRBY rank:20150401 5 1
ZINCRBY rank:20150401 1 2 ZINCRBY rank:20150401 10 3
ZRANGE rank:20150401 0 -1 withscores
1) "2" 2) "1" 3) "1" 4) "5" 5) "3" 6) "10"
ZREVRANGE rank:20150401 0 9 withscores
1) "3" 2) "10" 3) "1" 4) "5" 5) "2" 6) "1"
例: 「昨日の順位」:
ZREVRANGE rank:20150331 0 9 withscores
ZUNIONSTORE rank:last_week 7 rank:20150323 rank:20150324 rank:20150325 rank:20150326 rank:20150327 rank:20150328 rank:20150329 WEIGHTS 1 1 1 1 1 1 1
次に、先週の順位の上位 10 位の情報をクエリする場合は、次のようになります:
ZREVRANGE rank:last_week 0 9 withscores
以上がRedisを使用してランキング機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。