微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

会话存储和数据库之间有什么区别

我一直在尝试使用socket.io在node.js应用程序中实现身份验证和会话管理.

从我发现的几乎所有资源中,我遇到了“会话商店”一词.

有一些开源工具可以为我们处理会话,但我们必须为它们提供会话存储.

有些工具内置存储器用于内存中的会话,例如模块express-session在内存会话存储中带有认值,但此警告:

Warning The default server-side session storage,MemoryStore,is purposely not designed for a production environment. It will leak memory under most conditions,does not scale past a single process,and is meant for debugging and developing.

所以我搜索了可用的稳定会话存储,事实证明大多数名称都是我听说过的数据库.

例如,这是我遇到的GitHub上的list of session storesanother one.

名称包括MongoDB,MysqL,sqlite,cassandra,firebase等,因此存在混淆.

所以问题是,会话存储和数据库是一样的吗? (我可以这样想 – 当我们使用数据库存储会话详细信息时,我们将其称为会话存储,但它实际上是一个数据库)

如果没有,它们有何不同……?

解决方法

会话存储是会话数据存储在服务器上的地方.
在Web上,它通常由存储在客户端浏览器中的cookie标识.
因此,它允许您的应用识别用户并让他保持登录状态.

会话可以是内存,某些数据库,简单文件,也可以是您可以用来存储会话数据的任何其他位置.

如果项目使用某个数据库,则可以将会话存储配置为使用相同的数据库,以避免在服务器上仅为会话存储的目的而拥有另一个数据库.

不同会话商店之间的差异:

>内存会话存储将在每个应用程序重新启动时重置.也是最快的.>数据库会话存储,应用程序将是安全的重新劳克.在某些时候,你会有很多会话对象您可能想要清理它.甚至可以从不同的应用程序访问存储在数据库中的相同会话.

原文地址:https://www.jb51.cc/mssql/77121.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐