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 存储的几种方法相关推荐

  1. php session存到redis,php Session存储到Redis的方法

    php Session存储到Redis的方法 当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装修改php.ini的设置 复制代码 代码如下: session.save_handl ...

  2. 【转】介绍设置Session失效的几种方法

    转载地址:http://developer.51cto.com/art/201106/269493.htm Session对象是HttpSessionState的一个实例.该类为当前用户会话提供信息, ...

  3. 基于Node.js实现压缩和解压缩的方法

    本篇文章主要介绍了基于Node.js实现压缩和解压缩的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 压缩格式 zip 和 gzip 是两种我们最常见到的压缩格式,当 ...

  4. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  5. web集群时session同步的3种方法

    web集群时session同步的3种方法 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话 ...

  6. js遍历对象的几种方法

    js遍历对象的几种方法 第一种: for......in const obj = {id:1,name:'zhangsan',age:18 }for(let key in obj){console.l ...

  7. js 字符串拼接的4种方法

    一.使用连接符 + 把想要连接的字符串串起来 let shy = '帅哥' let a = '我是' + shy console.log(a) // 我是帅哥 二.模板字符串 模板字符串(templa ...

  8. JS下载文件的三种方法

    因为公司后端忙得无法给批量下载的api,就我们前端自己把多张图片打包成zip下载,zip打包我们用的是jszip,下面是js实现下载的三种方法: 利用HTML download 属性 var a = ...

  9. JS截取字符串的三种方法详解

    本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...

最新文章

  1. docker build 指定dockerfile
  2. 分布式锁选型背后的架构设计思维【附源码】
  3. [Redux/Mobx] 举例说明怎么在redux中定义action?
  4. linux shell学习-1
  5. 【Alpha】Daily Scrum Meeting——Day2
  6. file 图片上传 java_Java MultipartFile 上传文件/上传图片 亲测
  7. 解决“无法删除文件:无法读源文件或磁盘”
  8. 伍斯特理工学院计算机科学硕士,2020年伍斯特理工学院排名TFE Times美国最佳计算机科学硕士专业排名第100...
  9. 怎么快速调出计算机资源管理器,Win7下快速打开资源管理器的五个方法
  10. 2020还是AI最火?推荐几本深度学习的书籍帮你入门!
  11. P7369 [COCI2018-2019#4] Elder 题解
  12. 如何通俗解释Docker是什么?
  13. 猎聘、BOSS、智联、前程无忧这几个招聘网站我都用过
  14. JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
  15. ble学习笔记九----------ble协议栈之OSAL的运行机理
  16. 点击按钮点击复制功能
  17. 产品720vr全景摄影展示吸引客户主动浏览
  18. FATE联邦学习初探(二)
  19. Mysql tinyint(1)与tinyint(4)的区别
  20. 一些牛人榜样,多看看他们写的东西(后续整理牛人的blog等)

热门文章

  1. 在window平台运行Dubbo的一个小demo
  2. 微信小程序实例开发教程之知乎新闻
  3. BZOJ 2947 Poi2000 促销 set
  4. CF里面的资源载入问题
  5. Linux 环境下NFS 服务搭建
  6. 42、BGP常用命令及注意事项
  7. 查看终端进程是否死掉技巧
  8. socket select模型
  9. 【BZOJ】1630: [Usaco2007 Demo]Ant Counting(裸dp/dp/生成函数)
  10. 在C#中如何在客户端接收信件