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 element HTML adauga continut flash SWF in pagina web?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Browser-ul dv. nu suporta SWF.
</object>
Care pseudo-clasa CSS adauga un stil la un camp input de formular cand e cursorul in el?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Clic pe instructiunea care transforma un sir JSON in obiect JavaScript.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicati functia PHP care poate crea sau scrie un fisier pe server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "Fisierul a fost creat";
else echo "Fisierul nu poate fi creat";
Cum se spune "al treilea" in engleza?
threeth third three
I planted the third tree.
- Am plantat al treilea pom.
Cum se spune "al treilea" in spaniola?
segundo tres tercero
Yo planté el tercero árbol.
- Am plantat al treilea pom.
MySQL Conectare Pooling

Last accessed pages

  1. Curs si Tutoriale Ajax (4250)
  2. Poezii pentru copii, in engleza (10652)
  3. Scriere cod CSS (2020)
  4. Trecutul simplu si continuu - Past Tense Simple and Continuous (43081)
  5. Prepozitii - Prepositions (12275)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (3013)
  2. Curs HTML gratuit Tutoriale HTML5 (2255)
  3. Curs si Tutoriale JavaScript (2127)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (2087)
  5. Blog si Cugetari Personale (1929)