Node.js session 存储的几种方法
2019独角兽企业重金招聘Python工程师标准>>>
Since the accepted answer is only connecting to remote hosts, it is obvious thatit will be always slower than localhost. Even if it is the next computer in your home, it would take milliseconds to read from that computer, but local memory takes only nanoseconds. You should compare them by using locally installed servers.
Here are my results from my local pc: You see, redis is almost as fast as in-memory in under high load. You can clone my the repo that these test codes are available: https://github.com/mustafaakin/express-session-store-benchmark
node.js session store 有可选的四种方法的性能测试如下:
Concurrency: 1
none 4484.86 [#/sec]
memory 2144.15 [#/sec]
redis 1891.96 [#/sec]
mongo 710.85 [#/sec]
Concurrency: 10
none 5737.21 [#/sec]
memory 3336.45 [#/sec]
redis 3164.84 [#/sec]
mongo 1783.65 [#/sec]
Concurrency: 100
none 5500.41 [#/sec]
memory 3274.33 [#/sec]
redis 3269.49 [#/sec]
mongo 2416.72 [#/sec]
Concurrency: 500
none 5008.14 [#/sec]
memory 3137.93 [#/sec]
redis 3122.37 [#/sec]
mongo 2258.21 [#/sec]
对比得出redis来存储在并发性越多的情况下性能优越。
The session used pages are very simple pages;
app.get("/", function(req,res){if ( req.session && req.session.user_id){req.session.no = req.session.user_id;} else {throw Error('error');}res.send("No: " + req.session.no);});
Redis store config:
app.use(express.session({store: new RedisStore({host: 'localhost',port: 6379,db: 2,}),secret: 'hello'}));
Mongo store config:
app.use(express.cookieParser());app.use(express.session({store: new MongoStore({url: 'mongodb://localhost/test-session'}),secret: 'hello'}));
在使用mongodb存储时别忘记在加载一个模块:connect-mongo
npm install connect-mongo
转载于:https://my.oschina.net/antianlu/blog/186645
Node.js session 存储的几种方法相关推荐
- php session存到redis,php Session存储到Redis的方法
php Session存储到Redis的方法 当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装修改php.ini的设置 复制代码 代码如下: session.save_handl ...
- 【转】介绍设置Session失效的几种方法
转载地址:http://developer.51cto.com/art/201106/269493.htm Session对象是HttpSessionState的一个实例.该类为当前用户会话提供信息, ...
- 基于Node.js实现压缩和解压缩的方法
本篇文章主要介绍了基于Node.js实现压缩和解压缩的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 压缩格式 zip 和 gzip 是两种我们最常见到的压缩格式,当 ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
- web集群时session同步的3种方法
web集群时session同步的3种方法 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话 ...
- js遍历对象的几种方法
js遍历对象的几种方法 第一种: for......in const obj = {id:1,name:'zhangsan',age:18 }for(let key in obj){console.l ...
- js 字符串拼接的4种方法
一.使用连接符 + 把想要连接的字符串串起来 let shy = '帅哥' let a = '我是' + shy console.log(a) // 我是帅哥 二.模板字符串 模板字符串(templa ...
- JS下载文件的三种方法
因为公司后端忙得无法给批量下载的api,就我们前端自己把多张图片打包成zip下载,zip打包我们用的是jszip,下面是js实现下载的三种方法: 利用HTML download 属性 var a = ...
- JS截取字符串的三种方法详解
本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...
最新文章
- docker build 指定dockerfile
- 分布式锁选型背后的架构设计思维【附源码】
- [Redux/Mobx] 举例说明怎么在redux中定义action?
- linux shell学习-1
- 【Alpha】Daily Scrum Meeting——Day2
- file 图片上传 java_Java MultipartFile 上传文件/上传图片 亲测
- 解决“无法删除文件:无法读源文件或磁盘”
- 伍斯特理工学院计算机科学硕士,2020年伍斯特理工学院排名TFE Times美国最佳计算机科学硕士专业排名第100...
- 怎么快速调出计算机资源管理器,Win7下快速打开资源管理器的五个方法
- 2020还是AI最火?推荐几本深度学习的书籍帮你入门!
- P7369 [COCI2018-2019#4] Elder 题解
- 如何通俗解释Docker是什么?
- 猎聘、BOSS、智联、前程无忧这几个招聘网站我都用过
- JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
- ble学习笔记九----------ble协议栈之OSAL的运行机理
- 点击按钮点击复制功能
- 产品720vr全景摄影展示吸引客户主动浏览
- FATE联邦学习初探(二)
- Mysql tinyint(1)与tinyint(4)的区别
- 一些牛人榜样,多看看他们写的东西(后续整理牛人的blog等)