在帶有socket.io和node-mysql模塊的應用程序中,觸發事件時使用mysql連接的最佳方式(最優化和設計良好)是什麼?Socket.io&Mysql:多少個連接?
- 每次調用回調
一次創建一個連接,並把它傳遞給回調
案例1
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret',
});
io.sockets.on('connection', function cb1(){
socket.on('event', function cb2(){
connection.connect(function cb3(){
connection.query();
});
});
});
案例2
io.sockets.on('connection', function cb1(){
socket.on('event', function cb2(){
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret',
});
connection.connect(function cb3(){
connection.query();
});
});
});
我的服務器偵聽幾個套接字事件,並且遇到很多超時錯誤!我認爲這可能與使用連接有關。
有什麼建議嗎?
我首先開始使用連接池,但在某些情況下很難使用。你不得不使用回調來使用連接,這給我帶來了很多問題,特別是因爲我的服務器有兩個setInterval總是在後臺運行。連接打開並關閉每個滴答! 此外,我總是得到一個「無法解決的ETIMEDOUT」錯誤,很多人都在抱怨! – dorexx45 2013-04-30 11:20:16