如何解决connection.session问题

时间:2012-03-24 07:06:06

标签: node.js

使用NODE_ENV=production时,我收到了警告。有什么办法解决这个问题?

  

警告:connection.session()MemoryStore不是
      专为生产环境而设计,因为它会泄漏       记忆,显然只能在一个过程中工作。

1 个答案:

答案 0 :(得分:8)

将Redis用作会话管理器可能是个好主意。看起来好像您正在使用Express或Connect框架,对于其中任何一个,您都可以使用npm包connect-redis(已安装Redis)。安装完成后,快速代码将如下所示:

var express = require ( 'express' )
   , RedisStore = require ( 'connect-redis' ) ( express )
   , sessionStore = new RedisStore ()
   , app = express.createServer ()
   ;

app.configure ( function () {

   app.use ( express.cookieParser () );
   app.use ( express.session ( {
    secret: "keyboard cat", store: sessionStore, key: 'hello.sid'
   } ) );
...