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

我一直在尝试使用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标识.
因此,它允许您的应用识别用户并让他保持登录状态.

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

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

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

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...