Express express-session

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();

//Usethesessionmiddleware

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) {

varsess = req.session//用这个属性获取session中保存的数据,而且返回的JSON数据

if(sess.views) {

sess.views++

res.setHeader('Content-Type','text/html')

res.write('

欢迎第'+ sess.views +'次访问'+'expires in:'+ (sess.cookie.maxAge /1000) +'s

')

res.end();

} else {

sess.views = 1

res.end('welcome to the session demo. refresh!')

}

});

app.listen(3000);

Express express-session_第1张图片

你可能感兴趣的:(Express express-session)