全国咨询热线:18720358503

微信小程序免费开店_详解nodejs express下使用redi

类别:企业动态 发布时间:2021-01-12 浏览人次:

详解nodejs express下使用redis管理session       本篇文章主要介绍了详解nodejs express下使用redis管理session ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

Session实现原理

实现请求身份验证的方式很多,其中一种广泛接受的方式是使用服务器端产生的Session ID结合浏览器的Cookie实现对Session的管理,一般来说包括以下4个步骤:

1.服务器端的产生Session ID

2.服务器端和客户端存储Session ID

3.从HTTP Header中提取Session ID

4.根据Session ID从服务器端的Hash中获取请求者身份信息 

使用Express和Redis对Session管理的实现

var session = require('express-session');
var RedisStrore = require('connect-redis')(session);
var config={
"cookie" : {
 "maxAge" : 1800000
 "sessionStore" : {
 "host" : "192.168.0.13",
 "port" : "6379",
 "pass" : "123456",
 "db" : 1,
 "ttl" : 1800,
 "logErrors" : true
app.use(session({
 name : "sid",
 secret : 'Asecret123-',
 resave : true,
 rolling:true,
 saveUninitialized : false,
 cookie : config.cookie,
 store : new RedisStrore(config.sessionStore)

实现堆栈
express-session实例化后调用代码()

if (!req.sessionID) {
 debug('no SID sent, generating session');
 generate();
 next();
 return;

generate方法调用()

store.generate = function(req){
 req.sessionID = generateId(req);
 req.session = new Session(req);
 req.session.cookie = new Cookie(cookieOptions);

RedisStrore实例化时调用store.set(sid, session, callback)()

store.set调用RedisStore.prototype.set(),其中座位hashkey使用的是前缀+sessonId,前缀默认值为'sess',多个应用共享和不共享同一个redis session服务时,一定要注意设置prefix

RedisStore.prototype.set = function (sid, sess, fn) {
 var store = this;
 var args = [store.prefix + sid];
 if (!fn) fn = noop;

store.client.set调用的为()

最终调用原生redis.hset方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


推荐阅读

微信小程序免费开店_详解nodejs express下使用redi

详细说明nodejs express下应用redis管理方法session Session完成基本原理完成恳求真实身份认证的方法许多,在其中一种普遍接纳的方法是应用网络服务器端造成的Session ID融合访问器的...

2021-01-12
广州凡科互联网科技股份有限公司招聘健康客服

招聘人数:16职位信息【岗位职责】1、负责为用户提供预约挂号的话务、挂号咨询服务等,及时解答用户在挂号过程中遇到的问题;2、处理用户投诉问题、回复、回访及信息录入工作;...

2021-01-12
广州凡科互联网科技股份有限公司招聘服装质检

招聘人数:24职位信息岗位职责:1、根据公司质量控制程序及检验流程,进行大货成品回货的全检工作;2、根据生产制单以及工艺要求,检查回库成品质量状况及跟进相关进度;3、发现...

2021-01-12
抖音头条微信小程序-Siclay喜客莱整体家具定制官

企业 融合全世界資源,依次同法国豪迈、海蒂诗、英国杜邦、德国百隆等国际性机器设备与原料供货商达到发展战略协作...掌握企业喜客莱2020全新升级驱动力 在2020这一年里,从年刚开...

2021-01-12
广州凡科互联网科技股份有限公司招聘网络推广

招聘人数:13职位信息岗位职责:1、负责公司推广、运营和维护;2、负责广告账户跟踪优化;3、负责为本部门提供推广相关建议和培训,提升团队的推广能力。任职要求1、大专及以上...

2021-01-12
广州凡科互联网科技股份有限公司招聘媒介专员

招聘人数:3职位信息1、负责百度、头条、腾讯的客户对接工作,熟悉品牌或效果产品广告,能够认真负责的完成上级交待的工作;2、负责梳理媒体资源库等数据库梳理工作;3、跟进客...

2021-01-11
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信