Crates.io | embedded-redis |
lib.rs | embedded-redis |
version | 0.7.3 |
source | src |
created_at | 2022-03-28 16:44:55.0346 |
updated_at | 2024-02-10 16:52:56.601171 |
description | A no_std Redis client |
homepage | |
repository | https://github.com/pegasus-aero/rt-embedded-redis |
max_upload_size | |
id | 557994 |
size | 294,338 |
This crate offers a non-blocking Redis Client for no_std targets. Both RESP2 and RESP3 protocol are supported.
use core::str::FromStr;
use embedded_nal::SocketAddr;
use std_embedded_nal::Stack;
use std_embedded_time::StandardClock;
use embedded_redis::network::ConnectionHandler;
let mut 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(&mut stack, Some(&clock)).unwrap();
let future = client.set("key", "value").unwrap();
let response = future.wait().unwrap();
Any form of support is greatly appreciated. Feel free to create issues and PRs. See DEVELOPMENT for more details.
The following command can be used to run the benchmarks.
A local Redis instance is required.
cargo bench --features benchmarks
System | Async publish | Sync publish |
---|---|---|
Desktop *¹ | 291,800 msg / s | 70,025 msg / s |
Raspberry 4B *¹ | 59,744 msg / s | 10,641 msg / s |
*¹ Rust 1.67.0-nightly, AMD Ryzen 9, DDR4, Ubuntu 22.02, Redis v6.0.16
*¹ Rust 1.67.0-nightly, Raspberry Pi OS 10, Redis v7.0.5
Licensed under either of
Each contributor agrees that his/her contribution covers both licenses.