node中session持久化问题解决

session是node服务端存储的缓存,但是在重启项目后,我们的缓存会丢失,这样前端过来的标识比如cookie我们就比配不上了,我们想要达到前端登陆后不掉线的效果。为了解决这个问题,我们使用redis来解决。

首先我们可以安装一下redis

安装安装redis流程

按照菜鸟教程的流程安装上即可。

打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:

redis-server.exe redis.windows.conf

在这里插入图片描述
出现这个即可,表示安装成功。
下面配置node,首先安装两个npm 包

npm install redis connect-redis --save
//引用session
var session = require("express-session");
var cookieParser = require("cookie-parser")
var redis = require('redis');
var RedisStore = require('connect-redis')(session);

var redisClient = redis.createClient(6379, '127.0.0.1');//, { auth_pass: 'password' }
//用来设置签名密钥
app.use(cookieParser('zjq'))

// express中是把session信息存储在内存中
// 配置session
app.use(session({
  store: new RedisStore({ client: redisClient }),
  secret: "zjq", //设置签名秘钥 内容可以任意填写  但是要和cookieParser相匹
  cookie: { maxAge: 60 * 1000 * 60 }, //设置cookie的过期时间,例:80s后    session和相应的cookie失效过期
  resave: true, //强制保存,如果session没有被修改也要重新保存
  saveUninitialized: false //如果原先没有session那么久设置,否则不设置
}))

是他们禅城关联的是这个属性,这是传入session的属性

 store: new RedisStore({ client: redisClient }),

6379 是redis的默认端口号;

参考文章:node.js中持久化session

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

六卿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值