一尘不染

Node.js服务器重新启动将删除会话

node.js

我有使用Express和Connect中间件的功能齐全的用户注册/身份验证系统。

app.use(express.session({store: require('connect').session.MemoryStore( {reapInterval: 60000 * 10} ) }))

唯一的问题是,每次执行服务器重新启动时,会话都会中断。

https://github.com/remy/nodemon-并且nodemon每次检测到文件更改时都会重新启动node.js。

如何进行持续性会话?


阅读 300

收藏
2020-07-07

共1个答案

一尘不染

就像您的代码告诉您正在使用MemoryStore一样。这是易失的,重启后会清除。我建议您使用connect_redis来保持会话。Redis是一家非常快速的商店。

  1. 下载redis
  2. 编译redis: make
  3. 启动服务器: ./redis-server
  4. npm install connect-redis
  5. var connect = require(‘connect’) , RedisStore = require(‘connect-redis’);

    connect.createServer(
    connect.cookieParser(),
    // 5 minutes
    connect.session({ store: new RedisStore })
    );

这只是为了让您快速入门。如果您想充分利用Redis,应该阅读文档并配置Redis。

2020-07-07