11 个不稳定版本 (5 个重大更改)

0.6.1 2024年5月4日
0.6.0 2024年3月31日
0.5.0 2023年9月26日
0.4.1 2022年12月9日
0.1.2 2021年7月16日

#1962 in 数据库接口

Download history 2746/week @ 2024-05-04 3005/week @ 2024-05-11 2763/week @ 2024-05-18 2586/week @ 2024-05-25 3001/week @ 2024-06-01 3220/week @ 2024-06-08 2895/week @ 2024-06-15 2257/week @ 2024-06-22 3108/week @ 2024-06-29 2125/week @ 2024-07-06 2751/week @ 2024-07-13 3200/week @ 2024-07-20 3199/week @ 2024-07-27 3371/week @ 2024-08-03 2794/week @ 2024-08-10 2588/week @ 2024-08-17

12,491 每月下载量

MIT/Apache

99KB
1.5K SLoC

Deadpool 是一个用于连接和任何类型对象的简单异步池。 最新版本 禁止不安全 Rust 1.75+

Deadpool 是一个简单的异步池,用于数据库连接。

该库实现了对 deadpool 管理器的 diesel 连接的支持。

特性

特性 描述 额外依赖 默认
sqlite diesel 库中启用 sqlite 特性 diesel/sqlite
postgres diesel 库中启用 postgres 特性 diesel/postgres
mysql diesel 库中启用 mysql 特性 diesel/mysql
rt_tokio_1 启用对 tokio 库的支持 deadpool/rt_tokio_1
rt_async-std_1 启用对 async-std 库的支持 deadpool/rt_async-std_1
serde 启用对 serde 库的支持 deadpool/serde
tracing 通过在 interact() 调用中传播 Spans 来启用对 tracing 的支持。如果您使用 tracing 库并在 interact() 调用中想要获取有用的跟踪信息,请启用此特性。 deadpool-sync/tracing, tracing

示例

use deadpool_diesel::sqlite::{Runtime, Manager, Pool};
use diesel::{prelude::*, select, sql_types::Text};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let manager = Manager::new(":memory:", Runtime::Tokio1);
    let pool = Pool::builder(manager)
        .max_size(8)
        .build()
        .unwrap();
    let conn = pool.get().await?;
    let result = conn.interact(|conn| {
        let query = select("Hello world!".into_sql::<Text>());
        query.get_result::<String>(conn)
    }).await??;
    assert!(result == "Hello world!");
    Ok(())
}

许可证

许可协议为以下之一

您可选其中一种。

依赖项

~5–23MB
~294K SLoC