r2d2
A generic connection pool for Rust.
Opening a new database connection every time one is needed is both inefficient and can lead to resource exhaustion under high traffic conditions. A connection pool maintains a set of open connections to a database, handing them out for repeated use.
r2d2 is agnostic to the connection type it is managing. Implementors of the
ConnectionManager
trait provide the database-specific logic to create and
check the health of connections.
The r2d2-postgres crate provides
a ConnectionManager
for rust-postgres.
Example
Using a fake "foodb" database.
use thread;
use Arc;
extern crate r2d2;
extern crate r2d2_foodb;