In loc de a crea si administra conexiuni una cate una, modulul "mysql" are incorporat si
connecxiune "pooling", folosind metoda
mysql.createPool(config).
O conexiune "pool" este o memorie cache a conexiunilor bazei de date intretinute astfel incat conexiunile sa fie refolosite atunci cand sunt necesare mai multe cereri catre baza de date.
Conectarea "pool" e folosita pentru a imbunatati performanta executiei comenzilor intr-o baza de date.
Dupe ce o conexiune "pooling" este creata, este pusa in obiectul pool si se poate folosi din nou astfel incat sa nu fie necesara stabilirea unei noi conexiuni. Daca toate conexiunile sunt folosite, o noua conexiune este creata si adaugata in pool.
mysql.createPool() accepta aceleasi optiuni ca si o conexiune cu createConnection(). Cand se creaza o noua conexiune, optiunile sunt pur si simplu transmise constructorului de conexiuni.
Exemplu:
const mysql = require('mysql');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'pass',
database: 'nodedb',
charset: 'utf8'
});
let sql ='SELECT 1 + 1 AS solution';
pool.query(sql, (err, res, fields)=>{
if(err) throw err;
console.log('The solution is: ', res[0].solution);
});
- Se apeleaza metoda
pool.getConnection() pentru a refolosi o conexiune din pool.
Cand ati terminat cu o conexiune, se apeleaza
con.release();, si conexiunea se va intoarce in pool, gata sa fie folosita din nou cu alta cerere sql.
const mysql = require('mysql');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'pass',
database: 'nodedb',
charset: 'utf8'
});
//use pool connection
var sql ='SELECT 1 + 1 AS solution';
pool.query(sql, (err, res, fields)=>{
if(err) throw err;
console.log('The solution is: ', res[0].solution);
});
//another connection
pool.getConnection((err, con)=>{
sql ='SELECT id, name FROM friends LIMIT 1';
// Use the connection
con.query(sql, (err, res, fields)=>{
console.log(res[0]);
con.release(); //done with the connection, free memory
// Handle error after the release
if(err) throw error;
// Don't use the connection here, it has been returned to the pool.
});
});
Resultat:
The solution is: 2
{id: 1, name: 'Olpram'}
- Daca vreti sa inchideti conexiunea si sa o stergeti din pool, se foloseste
con.destroy();. Pool-ul va crea o noua conexiune data viitoare cand
getConnection() este apelata.
- Pentru mai multe detalii si exemple, vezi documentatia:
Node.js MySQL Pooling connections.
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li><ul>
<li>http://coursesweb.net/html/</li>
<li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block.some_class {
display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()var obj = {
"courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr); // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue; // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveingI`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendoEstoy viviendo aquĆ.
- Traiesc /Locuiesc aici.