Session
因为HTTP协议本身是无状态的,session
提供了一种保存用户请求信息的途径。
配置
session
的配置位于 src/config/session.js
store
:session
的存储介质,默认cookie
, 可选cookie
、redis
key
: 当store
为cookie
时,session
保存的key
maxAge
:session
的最大过期时间,默认8640000
httpOnly
: 是否httponly
,默认true
signed
: 是否加签,默认true
autoCommit
: 是否自动提交,默认true
connection
: 当store
为redis
的时候,使用哪个连接配置(src/config/database.js
)
操作 Session
获取 Session
变量
request.session().get('key')
1
获取 Session
变量,不存在时返回默认值
request.session().get('key', 'default')
1
存储 Session
变量
request.session().set('key', 'value')
1
判断 Session
变量是否存在
request.session().has('key')
1
删除一个 Session
变量
request.session().remove('key')
1
删除所有 Session
变量
request.session().flush()
1
Session 闪存
Session
闪存功能可以将部分 Session
保存到下次请求为止
request.session().flash('key', 'value')
1
使用 Redis
将配置文件的 store
设置为 redis
并且配置对应的 connection
即可
module.exports = {
// ...
store: 'redis'
// ...
connection: 'session'
//...
}
1
2
3
4
5
6
7
2
3
4
5
6
7
TIP
connection
为 src/config/database.js
中的 redis
的属性