zoukankan      html  css  js  c++  java
  • Nodejs连接数据库为何使用连接池

      问题一、nodejs既然是单线程运行,在连接数据库时为何要使用连接池呢?

      问题二,redis服务端是单线程运行的,使用连接池到redis,服务端还是串行处理,有什么意义么?

      这两个问题都涉及到单线程与连接池,仔细想像这两个问题其实回答是一样的:

      关键点是:网络传输消耗时间

        一次查询会有三个过程:发送查询报文,服务端执行查询操作,收取回复报文。

        在大部分情况下,有理由相信服务端执行时间很短,而大部分时间消耗在了网络传输上。

        1)对于那些在一个连接上只能发送一个查询请求的客户端,使用连接池就可以在同样的时间内发送多个连接请求,从而更有效的使用服务器的资源。

        2)而对于另外在一个连接上可以发送多个查询请求,然后获取多个请求的回复的服务器,虽然使用连接池的好处减低,但是在其中一个链接失败时马上可以取连接池中的下一个链接,也是一件好事。

        因此问题一,对应第一个点,如mysql。

        问题二对应第二点,redis。

  • 相关阅读:
    python 代码片段17
    python 代码片段15
    python 代码片段14
    python 代码片段13
    python 代码片段12
    RBAC模型
    2、服务注册与发现-电影服务
    1、通过eureka创建注册中心
    prop与attr
    位运算,效率高
  • 原文地址:https://www.cnblogs.com/chang290/p/3437616.html
Copyright © 2011-2022 走看看