【发布时间】:2016-02-27 02:35:15
【问题描述】:
我一直在尝试使用 socket.io 在 node.js 应用程序中实现身份验证和会话管理。
从我找到的几乎所有资源中,我发现了“会话存储”一词。
有一些开源工具可以为我们处理会话,但我们必须为它们提供一个会话存储。
一些工具在内存中内置了会话存储,例如模块express-session带有一个默认的内存中会话存储,但也有这个警告:
警告 默认的服务器端会话存储 MemoryStore 故意不是为生产环境设计的。它在大多数情况下都会泄漏内存,不会扩展到单个进程之外,并且适用于调试和开发。
于是我搜索了可用的稳定会话存储,结果发现大多数名称都是我听说过的数据库。
例如,这是我在 GitHub 上遇到的 list of session stores 和 another one。
名称包括 MongoDB、MySQL、SQLite、cassandra、firebase 等,因此会造成混淆。
所以问题是,会话存储和数据库是否相同..? (我可以这样想——当我们使用数据库来存储会话详细信息时,我们称之为会话存储,但它实际上是一个数据库)
如果不是,它们有何不同..?
【问题讨论】:
标签: database node.js session express socket.io