#surrealdb #bb8 #pool

bb8-surrealdb

基于surrealdb crate的bb8 SurrealDB驱动程序

4个版本

0.1.3 2022年11月9日
0.1.2 2022年10月28日
0.1.1 2022年10月27日
0.1.0 2022年10月27日

数据库接口 中排名 #2289

每月下载量 21

MIT 许可证

6KB
73

bb8-surrealdb

基于 bb8surrealdb crate的SurrealDB支持。

安装

请确保将 bb8bb8-surrealdb 添加到您的 Cargo.toml 中,如下所示

[dependencies]
bb8 = "0.8"
bb8-surrealdb = "0.1.2"
surrealdb = "1.0.0-beta.8"

示例

use bb8::Pool;
use bb8_surrealdb::SurrealdbConnectionManager;
use surrealdb::Session;
use futures_util::join_all;

#[tokio::main]
async fn main() {
    let pool = Pool::builder()
        .max_size(5)
        .build(
            SurrealdbConnectionManager::tikv(
                "localhost:2379",
                Session::for_kv().with_ns("test").with_db("test")
            ).await
        )
        .await
        .unwrap();

    for _i in 0..10 {
        let pool = pool.clone();

        handles.push(tokio::spawn(async move {
            let conn = pool.get().await.unwrap();

            conn.execute("SELECT * from user;", None, false).await.unwrap();
        }))
    }

    join_all(handles).await;
}

重要提示

此crate仅在编译时使用 tikv 功能时非常有用,因为由于文件锁的存在,您无法有多个内存嵌入式数据库的连接实例或多个基于文件的存储的连接实例。该功能默认未包含,以允许使用具有tikv功能的surreal crate进行编译,该crate在Windows上无法编译,在其他平台(如果安装了GCC 8)上才能编译。

许可证

bb8-surrealdb 主要在MIT许可证的条款下分发。

有关详细信息,请参阅 LICENSE

依赖关系

~44–61MB
~1M SLoC