17 个版本
0.3.0 | 2022 年 5 月 1 日 |
---|---|
0.2.11 | 2022 年 12 月 5 日 |
0.2.10 | 2020 年 6 月 23 日 |
0.2.3 | 2020 年 3 月 8 日 |
0.1.1 | 2018 年 9 月 3 日 |
在 异步 中排名第 448
每月下载 203 次
用于 6 个 包(直接使用 3 个)
61KB
1.5K SLoC
tarantool 的简单 Rust 客户端
将 Java 连接器移植到 tarantool 数据库
https://github.com/tarantool/tarantool-java
概述
使用 tokio.io 作为基本客户端框架
用法
示例
调用存储过程
运行 tarantool
cd test-tarantool;tarantool init-tarantool.lua
Lua 存储过程
function test(a,b)
return a,b,11
end
Rust 客户端
println!("Connect to tarantool and call simple stored procedure!");
let client = ClientConfig::new("127.0.0.1:3301", "rust", "rust")
.set_timeout_time_ms(2000)
.set_reconnect_time_ms(2000)
.build();
let response = client
.prepare_fn_call("test")
.bind_ref(&("aa", "aa"))?
.bind(1)?
.execute().await?;
let res: ((String,String), u64) = response.decode_pair()?;
println!("stored procedure response ={:?}", res);
let response_sql = client
.prepare_sql("select * from TABLE1 where COLUMN1=?")
.bind(1)?
.execute().await?;
let meta = response.metadata();
let rows: Vec<(u32, String)> = response.decode_result_set()?;
println!("resp value={:?}", row);
输出
Connect to tarantool and call simple stored procedure!
stored procedure response =(("param11", "param12"), (2,), (Some(11),))
在项目的示例部分还可以看到更复杂的示例
连接到 tarantool 的 hyper http 服务器
actix-web 示例
简单基准测试
依赖项
~5–13MB
~139K SLoC