安装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')
})