Building a user ranking system with Redis
We want to be able to rank users based on how many games they have completed. We will create a user service, implemented in Redis, that provides the following functionality:
Record when a user successfully completes a game
Return the top three users across the site
Return the rank of a given user
We will first add a feature to make the site a bit more user-friendly by allowing users to choose a screen name.
Using Redis from Node.js
First, we'll need to install a Node.js client library for Redis. We'll also use the promise library Bluebird to convert the Redis client library to promises:
> npm install redis --save > npm install bluebird --save
First, we'll create a module for configuring the Redis client as shown here in src/config/redis.js
:
'use strict'; const bluebird = require('bluebird'); const redis = require('redis'); bluebird.promisifyAll(redis.RedisClient.prototype); module.exports = redis.createClient(process.env.REDIS_URL);
Now we can create...