express-session的一些方法:
1. Session.destroy():删除session,当检测到客户端关闭时调用。 2. Session.reload():当session有修改时,刷新session。 3. Session.regenerate():将已有session初始化。 4. Session.save():保存session。 |
内存存储 方式实例代码:
一旦我们将express-session中间件用use挂载后,我们可以很方便的通过req参数来存储和访问session对象的数据。req.session是一个JSON格式的JavaScript对象,我们可以在使用的过程中随意的增加成员,这些成员会自动的被保存到option参数指定的地方,默认即为内存中去。
var express = require('express'); var session = require('express-session'); var app = express(); // Use the session middleware app.use(session({ 这里的name值得是cookie的name,默认cookie的name是:connect.sid //name: 'hhw', secret: 'keyboard cat', cookie: ('name', 'value', { path: '/', httpOnly: true,secure: false, maxAge: 60000 }), //重新保存:强制会话保存即使是未修改的。默认为true但是得写上 resave: true, //强制“未初始化”的会话保存到存储。 saveUninitialized: true, })) // 只需要用express app的use方法将session挂载在‘/’路径即可,这样所有的路由都可以访问到session。 //可以给要挂载的session传递不同的option参数,来控制session的不同特性 app.get('/', function(req, res, next) { var sess = req.session//用这个属性获取session中保存的数据,而且返回的JSON数据 if (sess.views) { sess.views++ res.setHeader('Content-Type', 'text/html') res.write('<p>欢迎第 ' + sess.views + '次访问 ' + 'expires in:' + (sess.cookie.maxAge / 1000) + 's</p>') res.end(); } else { sess.views = 1 res.end('welcome to the session demo. refresh!') } }); app.listen(3000); |