1 个不稳定版本
0.1.2 | 2024 年 3 月 1 日 |
---|
#2600 在 数据库接口
98KB
1K SLoC
Poolx 是 Rust 的通用连接池实现,其原始代码来自 sqlx,我已经对其进行了很多修改,使其更加通用并删除了大量无用代码。
功能
- 借用的测试
- 带有超时检查的空闲连接
- 自定义关闭/ping 方法实现
- 懒连接
示例用法
#[tokio::main]
async fn main() {
let url = "redis://:[email protected]:6379";
let option = url.parse::<RedisConnectionOption>().unwrap();
let pool: Pool<RedisConnection> = PoolOptions::new()
.test_before_acquire(true)
.idle_timeout(std::time::Duration::from_secs(3))
.min_connections(3)
.max_connections(100)
.connect_lazy_with(option);
for i in 0..10 {
let mut conn = pool.acquire().await.unwrap();
let reply: String = cmd("PING").query_async(conn.as_mut()).await.unwrap();
println!("reply: {}", reply);
}
}
依赖
~7–19MB
~242K SLoC