saveUninitialized 和 resave 有什么区别?
What's the difference between saveUninitialized and resave?
Express 的会话中间件提供several configurable options。
重新保存:'Forces the session to be saved back to the session store, even if the session was never modified during the request.'
保存未初始化: 'Forces a session that is "uninitialized" to be saved to the store. A session is uninitialized when it is new but not modified.'
看来这两个选项都是为了保存未修改的会话。 有什么区别?
我想我会从一个基本的答案开始,我目前的一点理解,然后一起改进它。重要问题已经 'dead' 太久了。
来自this 我理解的区别是:
(未修改'state'与未初始化状态不同)
重新保存:对于任何请求
- 会话中无需更改任何内容(无需登录等)。
- 需要更改会话(已登录)
"Forces session to be saved even when unmodified"
saveUninitialized:是关于session的状态,如果它还处于未初始化状态。
- 仅未修改,会话中的任何内容都不需要更改(无需登录等)。
"Forces a session that is "uninitialized" 保存到存储中。会话是新的但未修改时未初始化。"
基本上,一个session只有在被修改的时候才会保存在store中;如果您添加、删除 或编辑 会话 cookie(例如:req.session.test = 'some value'
)。如果您希望所有会话都保存在存储中,即使它们没有任何修改,请使用 saveUninitialized: true
.
现在,重新保存也仅在会话 variables/cookies 更改时发生。如果您想保存,请始终使用 resave: true
Express 的会话中间件提供several configurable options。
重新保存:'Forces the session to be saved back to the session store, even if the session was never modified during the request.'
保存未初始化: 'Forces a session that is "uninitialized" to be saved to the store. A session is uninitialized when it is new but not modified.'
看来这两个选项都是为了保存未修改的会话。 有什么区别?
我想我会从一个基本的答案开始,我目前的一点理解,然后一起改进它。重要问题已经 'dead' 太久了。
来自this 我理解的区别是:
(未修改'state'与未初始化状态不同)
重新保存:对于任何请求
- 会话中无需更改任何内容(无需登录等)。
- 需要更改会话(已登录)
"Forces session to be saved even when unmodified"
saveUninitialized:是关于session的状态,如果它还处于未初始化状态。
- 仅未修改,会话中的任何内容都不需要更改(无需登录等)。
"Forces a session that is "uninitialized" 保存到存储中。会话是新的但未修改时未初始化。"
基本上,一个session只有在被修改的时候才会保存在store中;如果您添加、删除 或编辑 会话 cookie(例如:req.session.test = 'some value'
)。如果您希望所有会话都保存在存储中,即使它们没有任何修改,请使用 saveUninitialized: true
.
现在,重新保存也仅在会话 variables/cookies 更改时发生。如果您想保存,请始终使用 resave: true