T J*_*T J 11 database session node.js express socket.io
我一直在尝试使用socket.io在node.js应用程序中实现身份验证和会话管理.
从我发现的几乎所有资源中,我都遇到了"会话商店"一词.
有一些开源工具可以为我们处理会话,但我们必须为它们提供会话存储.
有些工具内置存储器用于内存中的会话,例如模块快速会话在内存会话存储中附带默认值,但此警告:
警告默认的服务器端会话存储MemoryStore故意不是为生产环境设计的.它会在大多数情况下泄漏内存,不会扩展到单个进程,并且用于调试和开发.
所以我搜索了可用的稳定会话存储,结果发现大多数名称都是我听说过的数据库.
例如,这里是我遇到的会话商店列表和GitHub上的另一个会话商店列表.
名称包括MongoDB,MySQL,SQLite,cassandra,firebase等,因此存在混淆.
所以问题是,会话存储和数据库是一样的吗?(我可以这样想 - 当我们使用数据库存储会话详细信息时,我们将其称为会话存储,但它实际上是一个数据库)
如果没有,它们有何不同......?
小智 6
会话存储是会话数据存储在服务器上的地方.在Web上,它通常由存储在客户端浏览器中的cookie识别.因此,它允许您的应用识别用户并让他保持登录状态.
会话可以是内存,某些数据库,简单文件,也可以是您可以用来存储会话数据的任何其他位置.
如果项目使用某个数据库,则可以将会话存储配置为使用相同的数据库,以避免在服务器上只有用于会话存储的另一个数据库.
不同会话商店之间的差异:
会话存储是一种将有关用户的信息存储为具有唯一标识符的会话的方法。它可以存储在内存中或数据库中。如果我没有记错的话,可以利用程序包Socket.io中使用的相同会话(id) 。expresssocket-express-session
例如,您可以使用会话信息来授予/限制访问权限。
| 归档时间: |
|
| 查看次数: |
5187 次 |
| 最近记录: |