In mysql2 ( mysql2/promises ) to work with connection pool, I followed next steps:
- In mysql.config.js :
{ ..., connectionLimit : 100 }
- In app.js :
import mysql from "mysql2/promise"; const connectionPool = mysql.createPool( mysqlConfig ); ... connectionPool.getConnection() .then( connection => ... ) .catch( err => ... );
In knex site -> docs -> Pooling :
The client created by the configuration initializes a connection pool, using the generic-pool library. Checkout the generic-pool library for more information.
Example config from site knex( not from generic-pool ):
var knex = require('knex')({ client: 'mysql', connection: { host : '127.0.0.1', user : 'your_database_user', password : 'your_database_password', database : 'myapp_test' }, pool: { min: 0, max: 7 } });
In knex site -> docs -> Upgrade :
Upgrading 0.11 -> 0.12 generic-pool is swapped out for Pool2 for pooling management
( knex Latest Release: 0.12.9 )
I do not quite understand what they offer: Using "third-party"( for knex ) library, in addition, without Promises( it's using "classical" callback func ) and any good tutorials OR, for pulling, nothing need to do, except setting in config pool: { min: .., max: .. }
?
And, with pooling, make requests as without pool? :
import knex from "knex"; const knexConnection = knex( { ..., pool: { min: ..., max: ... }} ); ... knexConnection.select().table( "..." ) .then( ... ) .catch( ... );
via AlEX
No comments:
Post a Comment