成績や時間の順位付けを実装するには、Redisをどう使えばいいですか。
Redisでは、スコアと時間の並べ替えを実現するために、ソートされた集合(sorted set)を使用することができます。
- 学生の成績と時間を、ZADDコマンドを使用して、Redisに追加します。
- ZADD scores 80 “2022年01月01日 08:00:00”
ZADD scores 90 “2022年01月02日 09:00:00”
ZADD scores 85 “2022年01月03日 10:00:00” - 使用ZREVRANGEコマンドを使って、スコア(成績)が高い順にランキングリストを取得します。
- スコアの範囲が0から-1のZREVRANGE
- この関数は、整理されたセット内のすべてのメンバーのランクリストを返します。
- 指定されたランキング範囲内のメンバーをスコア(スコア)の高い順に取得するために、ZREVRANGEコマンドを使用します。
- scoresの0から2番目の要素を取得する
- 上位三つのメンバーが含まれている順序付き集合に戻ります。
- ZRANGEBYSCOREコマンドを使用して、時間範囲に基づいてメンバーを取得します。
- “2022-01-01 00:00:00″から”2022-01-03 23:59:59″までのスコアを取得する。
- 指定された時間範囲内の有序集合のメンバーを取得します。
上記のコマンドを使用することで、Redisで成績と時間のソートを実装することができます。