Rust Client for TiKV

Yilin Chen e97407a817 Merge pull request #120 from nrc/retry-tso 1 month ago
examples 1083aef8b4 Add integration tests 1 month ago
src 197af622c2 Retry get_timestamp 1 month ago
tests 4c6ab294ef Update and delete in integration tests 1 month ago
.gitignore d8c604394f Add gitignore 1 year ago
.travis.yml 52ea5dd600 Fix CI by changing PD_ADDR to PD_ADDRS 3 months ago
Cargo.toml 4f6cecc18c Remove tokio-timer 2 months ago
LICENSE db5d4ef3ca Initial commit 1 year ago
README.md f093c64f21 Upgrade toolchain and dependencies. 2 months ago
rust-toolchain f093c64f21 Upgrade toolchain and dependencies. 2 months ago

README.md

TiKV Client (Rust)

Build Status Documentation

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.

Using the client

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.

Access the documentation

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.

Toolchain versions

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).