express-session的常用参数

属性 说明
cookie 默认值 { path: '/', httpOnly: true, secure: false, maxAge: null }
domain cookie可以设置的域名,如果没有设置则cookie默认在当前域可以使用
expires cookie失效时间,可以设置时间,不建议给固定时间,设置maxAge之后自动会生成这个值
httpOnly 属性禁止客户端JavaScript的访问,禁止后不能使用document.cookie
maxAge 设置cookie开始多少毫秒失效
path 默认值为域名的根路径
secure truehttps才传递到服务器端。http是不会传递的
genid 设置创建session id的自定义函数,默认使用 uid-safe扩展来生成id,一定要保证创建的id不要重复。
name responsesessionID这个cookie的名称 ,即set-cookiesessionIDkey,看一下源码片段:name = options.name or options.key or connect.sid//很显然cookie的name默认是connect.sid,而且首先获取到的name而不是key
resave 强制session保存到session store中 即使没有发生变化,默认为false。 知道你的store是否需要设置resave的方法是通过查看你的store是否实现了touch方法(删除那些空闲的session。同时这个方法也会通知session store指定的session是活动态的),如果实现了那么你可以用resave:false,如果没有实现touch方法,同时你的store对保存的session设置了一个过期的时间,那么建议你用resave:true
rolling 在每次请求时强行设置cookie,这将重置cookie过期时间(默认:false), 强制在每一个response中都发送session标识符的cookie,即每次的response都带有set-cookie属性,使得客户端每次都重新设置cookie如果把这个值设置为true但是saveUnitialized设置为false,那么cookie不会被包含在响应中(没有初始化的session)
saveUninitialized 强制存储未初始化的session(默认为true,建议手动添加)
secret 用来注册session id到cookie中,相当与一个密钥
store session存储的实例子,一般可以用redismangodb来实现
unset 默认是keep ,设置req.session在什么时候可以设置。 destory:请求结束时候session摧毁,keepsession在存储中的值不变,在请求之间的修改将会忽略,而不保存 。

Session Store Implementation

session store的诸多回调,session store必须是事件驱动的而且是具体方法才可以触发,因没有做相关store太多实践,不做太多说明

store.all(callback)

返回一个存储store的数组

store.destroy(sid, callback)

在使用destory/delete 一个session时的回调

store.clear(callback)

delete 一个session时的回调

store.length(callback)

获取session的总长度在一个store中

store.get(sid, callback)

通过sessionid获取一个store事例对象

store.set(sid, session, callback)

自动生成一个sessionid或者调用save 一个session对象时候回调

store.touch(sid, session, callback)

使用touch更新session的时候回调

你可能感兴趣的:(express-session的常用参数)