【问题标题】:Keep express sessions on NodeJS restart在 NodeJS 重启时保持快速会话
【发布时间】:2018-11-03 17:36:43
【问题描述】:

我使用快速会话

app.use(require('express-session')({ resave: false, saveUninitialized: false }));

我想知道 NodeJS 服务器重启后是否可以保持会话?

非常感谢

(每次服务器重新加载后用户断开连接)

【问题讨论】:

  • 确实是这种情况,您需要某种外部数据库,例如 Redis、MongoDB、Postgres 就足够了。
  • Express-session 有一个可插入的会话存储。如果您的会话存储是持久的(例如在基于磁盘的数据库中),那么您的会话将在服务器重新启动后保持不变。默认情况下,会话存储在内存中(如果您不连接持久存储),因此它们不会在服务器重新启动后持久存在。因此,这完全取决于您使用的会话存储。

标签: node.js express session express-session


【解决方案1】:

会话存储在内存中,因此如果您的 NodeJS 服务器重新启动,所有会话数据都会丢失。

您必须使用数据库来存储会话数据。

文档中有一个可用于连接数据库的模块列表。

https://www.npmjs.com/package/express-session#compatible-session-stores

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2018-08-04
    • 2018-06-30
    • 2018-03-27
    • 2015-09-06
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多