embedded-redis 0.10.0

A no_std Redis client
Documentation

Redis Client for no_std

License License Crates.io Actions Status

This crate offers an asynchronous Redis client for no_std targets based on embedded-nal-async. Both RESP2 and RESP3 protocol are supported.

Documentation:

Example

async fn example() {
use core::str::FromStr;
use core::net::SocketAddr;
use std_embedded_nal_async::Stack;
use std_embedded_time::StandardClock;
use embedded_redis::network::ConnectionHandler;

let stack = Stack::default();
let clock = StandardClock::default();

let server_address = SocketAddr::from_str("127.0.0.1:6379").unwrap();
let mut connection_handler = ConnectionHandler::resp2(server_address);
let client = connection_handler.connect(&stack, Some(&clock)).await.unwrap();

let response = client.set("key", "value").await.unwrap();
}

Development

Any form of support is greatly appreciated. Feel free to create issues and PRs. See DEVELOPMENT for more details.

Benchmarks

The following command can be used to run the benchmarks.

A local Redis instance is required.

cargo bench --features benchmarks

License

Licensed under either of

Each contributor agrees that his/her contribution covers both licenses.

Credits

This crate is based on redis-protocol, developed by @aembke.