ExpressJs--负载均衡配置 Session,把 Session 保存到数据库 里面

session默认的是将数据保存到服务的文件中,可能我们的服务器压力大就不能保存数据会使数据丢失;这是这里我们想将数据保存到数据库中,以便于不同服务器来访问数据不会丢失 达到共享数据。

需要保证你的数据库是开启的

使用步骤:
1.需要安装 express-session 和 connect-mongo 模块

npm install express-session --save

npm install connect-mongo --save

2.引入模块

var session = require("express-session");
const MongoStore = require('connect-mongo')(session);

3.配置中间件

app.use(session({
      secret: 'keyboard cat',
      resave: false,
      saveUninitialized: true,
      rolling:true,
      cookie:{
            maxAge:100000
      },
      store: new MongoStore({
            url: 'mongodb://127.0.0.1:27017/student',//连接数据库的地址将数据存储到哪个库中,并在这个数据库中生成一个sessions集合
            touchAfter: 24 * 3600, // time period in seconds
       })
}))

案例:

sessionMongodb.js

let express = require('express');
let app = express();
let session = require('express-session');
const MongoStore = require('connect-mongo')(session);
// 配置中间件
app.use(session({
    secret:'keyboard cat',
    resave:false,
    saveUninitialized:true,
    rolling:true,
    cookie:{
        maxAge:1000*60*10
    },
    store: new MongoStore({
        url: 'mongodb://127.0.0.1:27017/student',//连接数据库的地址将数据存储到哪个库中,并在这个数据库中生成一个sessions聚合
        touchAfter: 24 * 3600, // time period in seconds
    })
}))
// 获取session
app.get('/',(req,res) => {
    res.send('获取session的值为:'+req.session.username)
})
// 设置session
app.get('/set',(req,res) => {
    req.session.username = '小红红红';
    res.send('设置session成功!')
})

app.listen(8013)

效果:

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值