node express配置redis

 下载依赖:

//全局安装
brew install redis
//启动redis
brew services start redis
//验证redis是否在运行
redis-cli ping

//pong

这里使用的redis版本是4

npm install express-session redis connect-redis
//app.js
const express = require('express')
//redis配置
const session = require('express-session');
const RedisStore = require('connect-redis').default
const redisClient = require("./redis/redis")

// 配置redis
app.use(session({
    // store session存储实例,默认为一个新的 MemoryStore 实例。
    store: new RedisStore({ client: redisClient }), //只需设置这个就可存储到redis
    name: 'session_id', //默认connect.sid
    secret: 'lanya', //设置签名秘钥  内容可以任意填写
    resave: false, // 强制保存,如果session没有被修改也要重新保存,默认true(推荐false)
    saveUninitialized: true, //如果原先没有session那么就设置,否则不设置(推荐true)
    /* 设置cookie的过期时间,sessiion的过期时间会随cookie自动更改,
    也可以只设置session过期时间,cookie也跟着更改(两者只能选1个,效果一样)*/
    cookie: { // 全局设置cookie,就是访问随便api就会设置cookie,也可以在登录的路由下单独设置
        maxAge: 1000 * 30 * 60, //过期时间(毫秒
        httpOnly: true // 是否允许客户端修改cookie,(默认true 不能被修改)
        // secure: true //https这样的情况才可以访问cookie,默认false(推荐)
    },
    // rolling: true //在每次请求时强行设置 cookie,这将重置 cookie 过期时间(默认:false推荐false)
}));
//redis.js
const redis = require('redis');


// 创建Redis客户端
const redisClient = redis.createClient({
    host: 'localhost',
    port: 6379,
    // 如果需要密码,使用password选项
    // password: 'yourpassword'
});
redisClient.connect()

module.exports = redisClient

使用方法:

const lanyaMiniController = {
    seasonInfoQuery: async function (req, res, next) {
        try {
            let result = await client.get('seasonInfo')
            res.send({ code: 200, msg: '操作成功', data: JSON.parse(result) })
        } catch (error) {
            res.send({ code: 500, msg: '操作失败' })
        }
    },
    seasonInfoChange: async function (req, res, next) {
        try {
            await client.set('seasonInfo', JSON.stringify(req.body))
            res.send({ code: 200, msg: '操作成功' })
        } catch (error) {
            res.send({ code: 500, msg: '操作失败' })
        }
    },
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goat恶霸詹姆斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值