本文主要是介绍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 }), //只需设置这个就可存储到redisname: 'session_id', //默认connect.sidsecret: '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: '操作失败' })}},
}
这篇关于node express配置redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!