19 个版本
0.8.5 | 2024 年 6 月 14 日 |
---|---|
0.8.3 | 2024 年 2 月 1 日 |
0.8.1 | 2023 年 5 月 31 日 |
0.8.0 | 2022 年 3 月 28 日 |
0.3.0 | 2019 年 3 月 17 日 |
#10 in 异步
每月 394,445 次下载
用于 139 个 包(79 个直接使用)
43KB
916 行
bb8
一个功能齐全的连接池,专为异步连接(使用 tokio)设计。最初基于 r2d2。
每次需要时打开一个新的数据库连接既不高效,在高流量条件下也可能导致资源耗尽。连接池维护一组到数据库的开放连接,供重复使用。
bb8 对其管理的连接类型一无所知。实现 ManageConnection
特性的实现者提供创建和检查连接健康状态的具体数据库逻辑。
不同后端适配器(可能不完整)的列表
示例
使用一个虚构的 "foodb" 数据库。
#[tokio::main]
async fn main() {
let manager = bb8_foodb::FooConnectionManager::new("localhost:1234");
let pool = bb8::Pool::builder()
.max_size(15)
.build(manager)
.await
.unwrap();
for _ in 0..20 {
let pool = pool.clone();
tokio::spawn(async move {
let conn = pool.get().await.unwrap();
// use the connection
// it will be returned to the pool when it falls out of scope.
});
}
}
许可证
根据 MIT 许可证许可(LICENSE)。
贡献
除非您明确声明,否则您有意提交的任何贡献,只要包含在作品中,均应按照上述方式许可,无需任何额外条款或条件。
依赖项
~3–9.5MB
~87K SLoC