13 个不稳定版本 (6 个破坏性更新)
0.7.3 | 2024年2月10日 |
---|---|
0.6.0 | 2023年7月4日 |
0.5.0 | 2023年2月9日 |
0.4.0 | 2022年11月10日 |
0.1.1 | 2022年3月28日 |
#593 in 数据库接口
每月80次下载
280KB
6K SLoC
no_std Redis客户端
此crate提供适用于no_std目标的非阻塞Redis客户端。支持RESP2和RESP3协议。
文档
示例
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();
开发
非常感谢任何形式的支持。请随意创建问题和PR。有关更多详细信息,请参阅DEVELOPMENT。
基准测试
以下命令可以用于运行基准测试。
需要一个本地Redis实例。
cargo bench --features benchmarks
系统 | 异步发布 | 同步发布 |
---|---|---|
桌面 *¹ | 291,800 条消息/秒 | 70,025 条消息/秒 |
树莓派4B *¹ | 59,744 条消息/秒 | 10,641 条消息/秒 |
*¹ 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
许可证
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT),您可选择。
每位贡献者同意其贡献涵盖这两个许可证。
依赖项
~5MB
~84K SLoC