Crates.io | tarantool-rs |
lib.rs | tarantool-rs |
version | 0.0.10 |
source | src |
created_at | 2023-05-14 21:43:03.523443 |
updated_at | 2023-10-03 20:54:18.627118 |
description | Asyncronous tokio-based client for Tarantool |
homepage | |
repository | https://github.com/Flowneee/tarantool-rs |
max_upload_size | |
id | 864497 |
size | 224,849 |
tarantool-rs
- Asyncronous Tokio-based client for Tarantool (WIP)tarantool-rs
- asyncronous Tokio-based client for Tarantool.
Documentation available on docs.rs.
Supported and tested Tarantool versions:
2.10.x
;2.11.x
.Other (especially newer) should work as well, but not tested. Versions below 2.10.x
doesn't have transactions support, so transaction API won't work.
If you have clients
space with 2 "columns": id
and name
:
let conn = Connection::builder().build("127.0.0.1:3301").await?;
let space = conn.space("clients").await?.expect("clients space exists");
space.insert((1, "John Doe")).await?;
let clients = space.select::<(i64, String), _>(None, None, Some(IteratorType::All), ()).await?;
For more examples of how to use this crate check examples/
folder.
authorization
evaluating Lua expressions
remote function calling
CRUD operations
transaction control (begin/commit/rollback)
reconnection in background
SQL requests
chunked responses
watchers and events
connection pooling
automatic schema fetching and reloading
graceful shutdown protocol support
pre Tarantool 2.10 versions support
customizable connection features (streams/watchers/mvcc)
custom Tarantool MP types (UUID, ...)
...