【问题标题】:Alternatives for MemoryStore express.ioMemoryStore express.io 的替代品
【发布时间】:2015-05-07 23:02:30
【问题描述】:

在生产模式下运行 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

我的问题:

  • 此解决方案是为 expressJsexpress.io 一起使用而构建的吗?
  • 是否有不使用其中之一的解决方案来解决问题?如您所见,使用其中之一将迫使我安装 mongo 或 redis,这对我来说并不好。

谢谢!

【问题讨论】:

  • Express.io 已经过时了,但是有一个定期更新的fork 由其他人维护。
  • 那么,你想说最好还是放弃它,转而使用 espress + socket.io ?
  • 不,我的意思是使用更新的分叉,但您的选择也是可能的。
  • 我通过使用“cookie-session”库解决了这个问题,感谢您的帮助

标签: node.js session express.io


【解决方案1】:

我通过使用cookie-session 库解决了这个问题,我只是按照教程进行操作。
cookie-session on github

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 使用“cookie-session”库解决了这个问题,你可以在我的 awnser 中找到链接。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2012-01-25
    • 2015-08-05
    • 2011-01-01
    • 2011-10-24
    • 2011-05-31
    相关资源
    最近更新 更多