2014-10-17 126 views
3

我想了解Node.js的mysql的模塊中Node.js MySQL模塊中的mysql.createConnection和mysql.createPool有什麼區別?

mysql.createConnection

var mysql = require('mysql'); 

var connection = mysql.createConnection({ 
    host  : 'example.org', 
    user  : 'bob', 
    password : 'secret' 
}); 

mysql.createPool

var mysql = require('mysql'); 

var pool = mysql.createPool({ 
    connectionLimit : 10, 
    host   : 'example.org', 
    user   : 'bob', 
    password  : 'secret' 
}); 

之間的區別

我已經熟悉mysql.createConection。看起來這是與MySQL建立連接的默認方式。

究竟是什麼mysql.createPool呢?

我什麼時候開始使用mysql.createPool?

什麼是使用mysql.createPool而不是mysql.createConnection的好處是什麼?

回答

8

當你創建一個連接時,你只有一個連接,它會一直持續到關閉它(或者它被mysql服務器關閉)。您可以通過引用傳遞它並重新使用它,也可以按需創建和關閉連接。

池是連接存儲的地方。當您從池中請求連接時,您將收到當前未使用的連接或新連接。如果您已經處於連接限制,則它會一直等到連接可用時再繼續。這些彙集的連接不需要手動關閉,它們可以保持打開狀態並易於重複使用。

你使用哪一個完全取決於你,因爲它們都以兩種不同的方式完成相同的目標。

相關問題