redis会议继续起来

时间:2014-10-14 07:22:10

标签: node.js session redis

由于这是我在这里提出的第一个问题,我将尝试尽可能具体。 我使用express 4和connect-redis模块来存储我的会话。出于某种原因,当我启动节点应用程序时,我注意到有关redis的2个会话。这将继续,redis的会议将继续起来。这怎么可能?我的意思是甚至没有使用我的浏览器?

据我所知,会话绑定到浏览器上创建的cookie。那么所有其他redis会议的来源呢?由于环境是本地的,redis上应该只有一个会话吗?

更新 这是我的server.js代码:

var http     = require( 'http' )
, compress        = require( 'compression' )
, methodOverride  = require( 'method-override' )
, cookieParser    = require( 'cookie-parser' )
, bodyParser      = require( 'body-parser' )
, session         = require( 'express-session' )
, express         = require( 'express' )
, passport        = require( 'passport' )
, redis           = require( 'redis' )
, RedisStore      = require( 'connect-redis' )( session );


var app = express();
app.enable('trust proxy');  

var config       = require( './configs' );

var port = process.env.PORT || config.env_port;

app.use(compress());

app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json({limit:'1mb'}));
app.use(methodOverride());
app.use(cookieParser('secret'));

/**
* REDIS SESSION STORE
*/

var ses = redis.createClient(config.redis.port, config.redis.host);
ses.auth(config.redis.pass);

var session_routes = '(?!\/api)(*)'

app.use(session_routes, session({
  secret  : 'secret',
  cookie  : { maxAge: 7200000 }, //2 hours
  rolling : true,
  saveUninitialized: true,
  resave: true,
  rolling: true,  
  store   : new RedisStore({ client: ses })

}));

app.use( session_routes, passport.initialize() );
app.use( session_routes, passport.session() );



app.listen(port, function() {
  console.log(" Listening on " + port);  
});

0 个答案:

没有答案