Node.js 什么';saveUninitialized和resave之间的区别是什么?
Express的会话中间件提供 重新保存:“强制将会话保存回会话存储,即使在请求过程中从未修改过会话。” saveUninitialized:”强制将“未初始化”的会话保存到存储中。当会话是新的但未被修改时,它将被取消初始化。”Node.js 什么';saveUninitialized和resave之间的区别是什么?,node.js,express,session,express-session,Node.js,Express,Session,Express Session,Express的会话中间件提供 重新保存:“强制将会话保存回会话存储,即使在请求过程中从未修改过会话。” saveUninitialized:”强制将“未初始化”的会话保存到存储中。当会话是新的但未被修改时,它将被取消初始化。” 这两个选项似乎都用于保存未修改的会话有什么区别?我想我应该从一个基本的答案开始,我到目前为止的一点理解,然后一起改进它。重要的问题已经“死”太久了 据我所知,区别在于: (未修改的“状态”与未初始化的状态不同) 重新保存:对于任何请求 会话中的任何内容都不需要更改(无
这两个选项似乎都用于保存未修改的会话有什么区别?我想我应该从一个基本的答案开始,我到目前为止的一点理解,然后一起改进它。重要的问题已经“死”太久了 据我所知,区别在于: (未修改的“状态”与未初始化的状态不同) 重新保存:对于任何请求
- 会话中的任何内容都不需要更改(无需登录等)
- 需要更改会话(已登录)
- 不只是修改,会话中的任何内容都不需要更改(不需要登录等)
“强制将“未初始化”的会话保存到存储中。当会话是新的但未修改时,该会话将被取消初始化。”基本上,只有当会话被修改时,才会将其保存到存储中;如果添加,删除或编辑会话cookie(例如:
req.session.test='some value'
)。如果希望所有会话都保存在存储中,即使它们没有任何修改,也可以使用saveUninitialized:true
现在,只有当会话变量/cookie发生更改时,才会重新保存。如果要保存,请始终继续执行
resave:true
如果saveUninitialized值为“true”,但会话根本没有修改,则可能会重复该值。我知道它会将会话存储在数据库中,但会话cookie还会被设置吗?