在服务器重新启动期间保持护照会话不变

有没有办法,我可以维护重新启动服务器上的用户会话,以帮助保持我的发展又好又快?

我正在本机上运行ExpressJS节点项目。 我正在使用Grunt-nodemon来观看我的JS文件,并且一旦我做了修改就重新启动服务器。 这意味着什么,我的项目(有用户login)的任何会话都擦干净。

目前,如果我在某个深层页面并重新启动,我将被踢出到login页面,必须重新导航,这是非常令人沮丧的。

我使用护照作为会话中间件。 我使用mongoose作为我的主要应用程序数据存储,如果我可以使用它,那将是超级的。

使用任何存储方法都很简单。

一个select是使用Redis。

以下是使用connect-redis模块的示例:

  app.use(express.cookieParser()); var session = require('express-session'); var RedisStore = require('connect-redis')(session); app.use(express.session( { store: new RedisStore( { host: '127.0.0.1', //where redis store is port: 6379, //default redis port prefix: 'sess', //prefix for sessions name is store pass: 'passwordtoredis' //password to redis db } ), secret: 'cookiesecret', //cookie secret key: 'express.sid' } )); 

它可以更简洁,但应该运作良好。

设置redis非常简单, redis网页有一个很好的教程: http : //redis.io/topics/quickstart

请记住,默认情况下,redis将会话存储在内存中,这意味着如果您重新启动硬件,会话将会丢失(但有一个选项可以使其持久保留http://redis.io/topics/persistence

希望这有助于:)