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

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

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

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

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

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

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

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

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

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

        问题二对应第二点,redis。

  • 相关阅读:
    按之字形打印二叉树 --剑指offer
    浅谈PHP+Access数据库的连接 注意要点
    Linux下统计代码行数
    获取服务器IP,客户端IP
    CURL访问举例
    廖雪峰博客
    Redis命令
    svn merge和branch 详解
    Linux Screen超简明教程
    MySQL 的Coalesce函数
  • 原文地址:https://www.cnblogs.com/chang290/p/3437616.html
Copyright © 2011-2022 走看看