High-performance async Redis client for Rust
redis-oxide is a Redis client library similar to StackExchange.Redis for .NET.
It automatically detects whether you're connecting to a standalone Redis server
or a Redis Cluster, and handles MOVED/ASK redirects transparently.
Features
- Automatic topology detection (Standalone vs Cluster)
- Transparent handling of MOVED and ASK redirects
- Multiple connection strategies (multiplexed, pooled)
- Type-safe command builders
- Async/await support with Tokio
- Comprehensive error handling
Quick Start
use redis_oxide::{Client, ConnectionConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = ConnectionConfig::new("redis://localhost:6379");
let client = Client::connect(config).await?;
client.set("mykey", "myvalue").await?;
let value: Option<String> = client.get("mykey").await?;
println!("Value: {:?}", value);
Ok(())
}