Как настроить RedisStore - Node, Express, Socket.io, Heroku

Я использую Node & Express 4.0, развернутый на Heroku, и пытаюсь реализовать Socket.io с Redis в качестве хранилища сеансов. Итак, у меня есть это как мой текущий код:

 var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
var RedisStore = io.RedisStore;

if (process.env.REDISTOGO_URL) {
    // inside if statement
    var rtg   = require("url").parse(process.env.REDISTOGO_URL);
    var redis = require("redis").createClient(rtg.port, rtg.hostname);

    redis.auth(rtg.auth.split(":")[1]);
} else {
    var redis = require("redis").createClient();
}

/** Initialize RedisStore for socket.io **/
io.set('store', new RedisStore({
  redis    : redis
}));

Но я получаю следующую ошибку:

14:25:03 web.1  | io.set('store', new RedisStore({
14:25:03 web.1  |                 ^
14:25:03 web.1  | TypeError: undefined is not a function

Я также видел этот способ определения RedisStore:

var redis = require('socket.io/node_modules/redis');
var RedisStore = require('socket.io/lib/stores/redis');

Тем не менее, моя установленная версия socket.io, установленная с помощьюnpm install --save socket.io, не включаетstores вlib каталог:

РЕДАКТИРОВАТЬ

Я видел это на странице socket.io в отношении их версии 1.0:

// 2. Implement the socket.io-redis adapter

var io = require('socket.io')(3000);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));

Но нет никакой другой документации, которую я мог бы найти относительно этого нового модуля, и, поскольку я новичок во всем этом стеке, я не думаю, что смогу понять это самостоятельно.

Ответы на вопрос(4)

Ваш ответ на вопрос