node express配置redis

2024-06-13 14:04
文章标签 配置 redis node express

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057509

相关文章

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

IDEA配置Tomcat远程调试

因为不想把本地的Tomcat配置改乱或者多人开发项目想测试,本文主要是记录一下,IDEA使用Tomcat远程调试的配置过程,免得一段时间不去配置到时候忘记(毕竟这次是因为忘了,所以才打算记录的…) 首先在catalina.sh添加以下内容 JAVA_OPTS="-Dcom.sun.management.jmxremote=-Dcom.sun.management.jmxremote.port

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

为什么要做Redis分区和分片

Redis分区(Partitioning)和分片(Sharding)是将数据分布在多个Redis实例或多个节点上的做法。这种技术用于提高性能、可扩展性和可用性。以下是执行Redis分区和分片的主要原因: 1. **提高吞吐量**:    - 通过将数据分散到多个节点,可以并行处理更多的操作,从而提高整体吞吐量。 2. **内存限制**:    - 单个Redis实例的内存是有限的。分区允许数据

微信小程序开发必知必会:文件结构和基本配置

一、微信小程序基本文件结构 1.  project.config.json:项目的基本配置文件,包括项目名称、appid、项目目录、页面文件夹等。     {"setting": {"urlCheck": false,"es6": true,"postcss": true,"nodeModulesPath": "D:\\\\node_modules"},"appid": "wxd678e

如何理解redis是单线程的

写在文章开头 在面试时我们经常会问到这样一道题 你刚刚说redis是单线程的,那你能不能告诉我它是如何基于单个线程完成指令接收与连接接入的? 这时候我们经常会得到沉默,所以对于这道题,笔者会直接通过3.0.0源码分析的角度来剖析一下redis单线程的设计与实现。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源

【杂记-浅谈DHCP动态主机配置协议】

DHCP动态主机配置协议 一、DHCP概述1、定义2、作用3、报文类型 二、DHCP的工作原理三、DHCP服务器的配置和管理 一、DHCP概述 1、定义 DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是一种网络协议,主要用于在IP网络中自动分配和管理IP地址以及其他网络配置参数。 2、作用 DHCP允许计算机和其他设备通

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手