Currently this crate is experimental and some portions (e.g. the Transactional API) are still in active development. You're encouraged to use this library for testing and to help us find problems!
This crate provides a clean, ready to use client for TiKV, a distributed transactional Key-Value database written in Rust.
With this crate you can easily connect to any TiKV deployment, interact with it, and mutate the data it contains.
This is an open source (Apache 2) project hosted by the Cloud Native Computing Foundation (CNCF) and maintained by the TiKV Authors. We'd love it if you joined us in improving this project.
The TiKV client is a Rust library (crate). It uses async/await internally and exposes some async fn
APIs as well.
Async/await is a new feature in Rust and cannot be used with a stable Rust compiler. To use it now you'll need to use Rust 1.39 (see below).
To use this crate in your project, add it as a dependency in your Cargo.toml
:
[dependencies]
# ...Your other dependencies...
tikv-client = { git = "https://github.com/tikv/client-rust.git" }
The client requires a Git dependency until we can publish it.
There are examples which show how to use the client in a Rust program.
We recommend using the cargo-generated documentation to browse and understand the API. We've done our best to include ample, tested, and understandable examples.
You can visit docs.rs/tikv-client, or build the documentation yourself.
You can access the documentation on your machine by running the following in any project that depends on tikv-client
.
cargo doc --package tikv-client --open
# If it didn't work, browse file URL it tried to open with your browser.
To check what version of Rust you are using, run
rustc --version
You'll see something like rustc 1.39.0-nightly (eeba189cf 2019-08-24)
where the 1.39.0
is the toolchain version, and nightly
is the channel (stable/beta/nightly). To install another toolchain use
rustup toolchain install nightly
Where nightly
here is the channel to add. To update your toolchains, run
rustup update
To build your project using a specified toolchain, use something like
cargo +nightly build
Where nightly
names the toolchain (by specifying the channel, in this case).