我有一个奇怪的问题,我不知道发生了什么。当我开始时,会话不再以某种方式保存到 redis 中socket.io
,但是当我注释掉socket.io
它们时它们会起作用。代码可以在这里找到:没什么不寻常的。此代码在数据库崩溃后停止工作。当我再次尝试运行该应用程序时,它说redis connection is already in use
. 我找到并杀死了正在使用此连接的节点进程,并且我能够再次启动我的应用程序,但现在会话出现了这个问题。
var config = require('./config')
, express = require('express')
, routes = require('./routes')
, RedisStore = require('connect-redis')(express)
, sessionStore = new RedisStore(config.redis)
, app = express.createServer();
app.configure(function () {
app.use(express.static(__dirname + '/public'));
app.use(express.cookieParser('keyboard cat'));
app.use(express.session({
secret: config.sessionSecret,
key: 'express.sid',
store: sessionStore
}));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
})
app.configure('development', function () {
app.use(express.errorHandler());
});
app.enable('jsonp callback');
routes.init(app);
app.listen(config.port);
console.log("listening on port " + config.port);
// socket.io
var io = require('socket.io').listen(app);
io.configure(function() {
io.set("polling duration", 10);
io.enable('browser client minification');
io.enable('browser client etag');
io.enable('browser client gzip');
io.set('log level', 3);
io.set('transports', ['xhr-polling']);
}
);