MemoryStore express.io的替代方案

时间:2015-03-06 10:45:31

标签: node.js session express.io

在生产模式下运行节点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-mongo express-session来使用其他替代方案进行会话存储-redis 点。

我的问题:

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

谢谢!

2 个答案:

答案 0 :(得分:1)

我使用cookie-session库解决了这个问题,我简单地介绍了教程 cookie-session on github

答案 1 :(得分:0)

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

表达的原因是错误是内存数据库仅在您正在运行的当前节点上可用,如果您扩展应用程序,会话数据将无法在其他节点上使用。

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