2014-09-01 90 views
0

我正在使用Express 4.x。我宣布Redis的这里:无法快速使用Redis

var app = require('express')() 
, express = require('express') 
, connect = require('connect') 
, http = require('http').Server(app) 
, path = require('path') 
, request = require("request") 
, io = require('socket.io')(http); 


// Cookie and Session Reqs: 
var bodyParser = require('body-parser'); 
var cookieParser = require('cookie-parser'); 
var session = require('express-session'); 
var RedisStore = require('connect-redis')(session); 
var sessionStore = new RedisStore(); 

我建立了我的会议

app.use(session({ 
    secret: "xxxxx", 
    store: sessionStore,  
    key: 'sid', 
    cookie: {secure: false, maxAge: 600000}, 
})); 

而且我用我的会话变量在我路线之一:

app.get('/public/', function(req, res) { 
    req.session.sessionAccessCode = "not set yet"; 
    res.redirect("index.html"); 
}); 

当我删除store: sessionStore线时,没有问题我可以测试会话变量的工作原理。但是,如果我有它,我给出了一个错误:

TypeError: Cannot set property 'sessionAccessCode' of undefined

任何想法,为什么Redis的不工作?

+0

redis是否在本地端口6379上监听?用'redis-cli'和/或'sudo netstat -nlp'检查。 – mscdex 2014-09-01 16:50:33

+0

@mscdex试过redis-cli; “无法连接到Redis 127.0.0.1:6379:连接被拒绝” – Defiant 2014-09-01 17:04:12

回答

1

您需要先以某种方式启动redis。根据您安装redis的方式,如果您通过软件包进行安装,则可以像启动redis服务一样简单。

+0

谢谢,最终这是这个问题。我开始Redis作为守护进程,并且,嘿presto。 – Defiant 2014-09-08 14:05:22