Implement a Leaderboard Feature in a Game
Build on the fundamentals of the set and sorted set data types with the help of a practical application.
Application overview
This application exposes REST endpoints for managing a hypothetical game with multiple players and tracking the top players by score on a leaderboard.
We can interact with the application by executing the following operations:
Add/register a user in the game by sending an HTTP
POSTrequest: This is done by first checking if the user already exists in the set using aSIsMemberand invokingSAddif they don’t. If the user already exists, an error response is returned.Start a game simulation where registered players score and accrue points: During the simulation, all game players are queried from the set using
SMembers. Each player is added to a sorted set using theZIncrBymethod, along with the user name and the randomly generated score.Query the top five players and their scores at a given point in time: The
ZRevRangeWithScoresmethod is used to make sure that the names of the top players and their scores are returned in descending order.