web-dev-qa-db-fra.com

Comment puis-je choisir entre Client ou Pool pour node-postgres

De https://node-postgres.com/features/connecting , il semble que nous pouvons choisir entre Pool ou Client pour effectuer la requête

pool.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  pool.end()
})

client.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  client.end()
})

Leurs fonctionnalités se ressemblent beaucoup. Mais, la documentation n'explique pas beaucoup la différence entre Pool et Client.

Puis-je savoir ce que je dois considérer avant de choisir entre Pool ou Client?

21
Cheok Yan Cheng

Puis-je savoir ce que je dois considérer avant de choisir entre Pool ou Client?

Utilisez un pool si vous avez ou prévoyez d'avoir plusieurs demandes simultanées. C'est littéralement à cela qu'il sert: fournir un pool d'instances ouvertes client réutilisables (réduit la latence chaque fois qu'un client peut être réutilisé).

Dans ce cas, vous devez absolument ne voulez pas appeler pool.end() à la fin de votre requête, vous devez le réserver à la fin de votre application car pool.end() dispose de tout les instances ouvertes client. (N'oubliez pas, le but est de garder jusqu'à un nombre fixe d'instances client disponibles.)

24
user268396