Middle+
O que é um connection pool no pacote database/sql em Go?
sobes.tech IA
Resposta da IA
No pacote database/sql em Go, o connection pool é um mecanismo incorporado para gerir o grupo de conexões à base de dados. Permite reutilizar conexões abertas, evitando criar uma nova conexão para cada pedido, o que melhora significativamente o desempenho e reduz a carga na base de dados.
Principais características:
- O pool abre e fecha conexões automaticamente conforme necessário.
- Pode configurar o número máximo de conexões abertas e em uso simultâneo através dos métodos
SetMaxOpenConnseSetMaxIdleConns. - O pool garante acesso seguro às conexões em ambientes concorrentes.
Exemplo de configuração:
db, err := sql.Open("postgres", "connection_string")
if err != nil {
log.Fatal(err)
}
// Máximo de 10 conexões abertas
db.SetMaxOpenConns(10)
// Máximo de 5 conexões inativas no pool
db.SetMaxIdleConns(5)
Assim, o connection pool em database/sql ajuda a gerir recursos de forma eficiente ao trabalhar com bases de dados.