对于单主机Node.js生产应用程序,好的会话存储是什么?

对于单主机Node.js生产应用程序,好的会话存储是什么?,第1张

对于单主机Node.js生产应用程序,好的会话存储是什么?

花了一天的时间对此进行调查。这是我发现的选项。每秒请求数是

ab -n 100000 -c 1http://127.0.0.1:9778/
在我的本地计算机上执行的。

  • 无会话-快速(438 req / sec)
  • cookieSession:不需要外部服务,对速度影响不大(311 req / sec)-最快,会话将随着cookie过期(由定制
    maxAge
  • connect-redis:需要redis服务器,对速度有较大影响(redis2go和redisgreen为4 req / sec)-比mongo快,会话将在一段时间后删除(由定制
    ttl
  • connect-mongo-需要mongodb服务器,对速度有较大影响(mongohq的速度为2 req / sec)-比redis慢,需要手动
    clear_interval
    设置清理会话

这是我用于cookieSession的coffeescript:

server.use express.cookieSession({    secret: appConfig.site.salt    cookie: maxAge: 1000*60*60})

这是我用于redis的coffeescript:

RedisSessionStore ?= require('connect-redis')(express)redisSessionStore ?= new RedisSessionStore(    host: appConfig.databaseRedis.host    port: appConfig.databaseRedis.port    db: appConfig.databaseRedis.username    pass: appConfig.databaseRedis.password    no_ready_check: true    ttl: 60*60  # hour)server.use express.session({    secret: appConfig.site.salt    cookie: maxAge: 1000*60*60    store: redisSessionStore})

这是我给蒙哥写的咖啡稿:

server.use express.session({    secret: appConfig.site.salt    cookie:        maxAge: 100*60*60    store: new MongoSessionStore({        db: appConfig.database.name        host: appConfig.database.host        port: appConfig.database.port        username: appConfig.database.username        password: appConfig.database.password        auto_reconnect: appConfig.database.serverOptions.auto_reconnect        clear_interval: 60*60  # hour    })})

当然,现在,远程redis和mongo数据库将比其本地等效数据库慢。
我只是无法让当地的同类设备正常工作,特别是考虑到与托管远程替代产品相比,我的安装和维护时间远远超过了我愿意投资的时间,我对其他人也是如此,因此为什么这些托管远程替代产品也是如此数据库服务首先存在!



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/4913817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存