1

在生产模式下运行 node js 时,会记录以下警告:

Warning: connection.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.

做了一个简短的研究,我发现我应该通过express-session-mongoexpress-session-redis使用其他替代方法来存储会话。

我的问题:

  • 这个解决方案是为expressJs使用express.io构建的吗?
  • 有没有不使用其中之一的解决方案来解决问题?如您所见,使用其中之一将迫使我安装 mongo 或 redis,这在我的情况下不好。

谢谢你 !

4

2 回答 2

1

我通过使用cookie-session库解决了它,我只是按照教程进行操作。
github上的cookie会话

于 2015-03-10T14:16:34.180 回答
0

我强烈建议您使用数据库支持您的会话。我会使用 Redis、CouchDB/Cloudant、memcached 或 Mongo。

express 给出该错误的原因是内存数据库仅在您正在运行的当前节点上可用,如果您扩展应用程序,会话数据将在其他节点上不可用。

查看http://passportjs.org/,有一些模块可以帮助您将会话数据存储到外部资源中。

于 2015-03-06T14:11:07.690 回答