NodeJs -Используя redis, подключите -redis к экспрессу

ПРИМЕЧАНИЕ Для тех, кто борется с Redis, необходимо запустить сервер Redis. В Windows есть дистрибутив Redis, перейдите по следующей ссылке:https://github.com/dmajkic/redis/downloadsзатем запустите сервер, запустив «redis -server.exe»

Я следую учебнику по node.js. В учебнике используются Express и Redis. Я установил redis и подключил -redis (, на них есть ссылка в package.json):

npm install redis connect-redis --save

В моем server.js (только значимая часть):

var express = require('express');
var http = require('http');
var app = module.exports = express();
var RedisStore = require('connect-redis')(express);

var redis = require("redis").createClient();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  console.log('views', __dirname + '/views');
  app.set('view engine', 'jade'); //jade as template engine
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser());
  app.use(express.session({
      secret: "kqsdjfmlksdhfhzirzeoibrzecrbzuzefcuercazeafxzeokwdfzeijfxcerig",
      store: new RedisStore({ host: 'localhost', port: 3000, client: redis })
  }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

Сообщение об ошибке:

Express server listening on port 3000
[ERROR] Error
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
    at RedisClient.on_error (D:\Programming\Screencasts\peepcode\nodejs\peepcode
-069-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:140:
24)
    at Socket. (D:\Programming\Screencasts\peepcode\nodejs\peepcode-0
69-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:74:14)

    at Socket.EventEmitter.emit (events.js:88:17)
    at Socket._destroy.self.errorEmitted (net.js:329:14)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)
[ERROR] Error
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
    at RedisClient.on_error (D:\Programming\Screencasts\peepcode\nodejs\peepcode
-069-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:140:
24)
    at Socket. (D:\Programming\Screencasts\peepcode\nodejs\peepcode-0

Express начинает прослушивать порт 3000, чего я и ожидаю. В сообщении об ошибке Redis упоминается подключение к порту 6379. Это происходит, если я передаю redisClient в RedisStore, что, как я понял, нужно сделать для привязки Redis и RedisStore.

Я разрабатываю на Windows

12
задан roland 22 August 2012 в 07:25
поделиться