An asynchronous Redis client for Rust.

Crate docs.rs Build License

Documentation

Official Documentation

Philosophy

Features

Basic Usage

```rust use rustis::{ client::Client, commands::{FlushingMode, ServerCommands, StringCommands}, Result, };

[tokio::main]

async fn main() -> Result<()> { // Connect the client to a Redis server from its IP and port let mut client = Client::connect("127.0.0.1:6379").await?;

 // Flush all existing data in Redis
 client.flushdb(FlushingMode::Sync).await?;

 // sends the command SET to Redis. This command is defined in the StringCommands trait
 client.set("key", "value").await?;

 // sends the command GET to Redis. This command is defined in the StringCommands trait
 let value: String = client.get("key").await?;
 println!("value: {value:?}");

 Ok(())

} ```

Tests

  1. From the redis directory, run docker_up.sh or docker_up.cmd
  2. run cargo test --features pool,redis-stack,tokio-tls (Tokio runtime)
  3. run cargo test --no-default-features --features redis-stack,async-std-runtime,async-std-tls (async-std runtime)

Benchmarks

  1. From the redis directory, run docker_up.sh or docker_up.cmd
  2. run cargo bench