13.nodejs express框架session写入redis中

安装connect-redis中间件

在这里插入图片描述

文档说明

const redis = require('redis')
const session = require('express-session')
 
let RedisStore = require('connect-redis')(session)
let redisClient = redis.createClient()
 
app.use(
  session({
    store: new RedisStore({ client: redisClient }),
    secret: 'keyboard cat',
    resave: false,
  })
)

简单案例

const express = require('express')
const cookieParser = require('cookie-parser')
const session = require('express-session')
const redis = require('redis')
const RedisStore = require('connect-redis')(session)  //引入connect-redis是一个函数,
                                                      // 执行传入session作为参数
const redisClient = redis.createClient('6379', '127.0.0.1') // 创建一个redis连接对象


// 本次 http 请求的实例
const app = express()

app.use(cookieParser())  // 配置cookie,会在req对象上生成cookie属性
app.use(session({
  secret: '#12Ac_',   // 密钥
  cookie: {           // 将cookie和session连接
    //path: '/',        // 默认值
    //httpOnly: true,   // 默认值
    maxAge: 24 * 60 * 60 * 1000  //过期时间
  },
  store: new RedisStore({   // 通过store将session和redis连接
    client: redisClient            // 新建一个RedisStore传入redis连接对象
  })
}))


app.get('/', (req, res, next) => {
  req.session.name = 'xiaoming'
  req.session.age = 18
  res.json({
    session: req.session
  })
})

app.listen(3000, () => {
  console.log('server is running on port 3000')
})

在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页