1 个不稳定版本
0.1.0 | 2022年1月23日 |
---|
#2840 在 数据库接口
165KB
3.5K SLoC
Undis
Undis 是一个为 Rust 提供的与 serde 兼容的 redis 库。
发送请求
对于大多数用例,您只需要知道 Client
。
use undis::Client;
use serde::{Serialize, Deserialize};
#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Table {
foo: String,
bar: i32,
baz: bool,
}
let client = Client::new(20, addr).await?;
let value = Table { foo: "foo".into(), bar: 42, baz: true };
client.hset("my-key", &value).await?;
let fetched: Table = client.hmget("my-key").await?;
assert_eq!(value, fetched);
发送自定义请求
您可能想发送一些不支持作为方法的请求。这可以通过使用 raw_command
实现。
let res: MyStruct = client.raw_command(("CUSTOMCOMMAND", "ARG1", 42, "ARG2", "FOO")).await?;
未来主题
- Pubsub。
- Pipeline。
- 将
resp3
模块分离成自己的 crate,并具有更好的多 crate 项目布局。 - Redis 服务器模拟助手。
- 功能齐全的 Redis 服务器实现。
- Redis 集群代理。
许可证
Undis 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。
贡献
除非您明确声明,否则任何有意提交以包含在作品中并由您定义的 Apache-2.0 许可证所定义的贡献,将根据上述方式双许可,没有任何额外的条款或条件。
依赖项
~5–17MB
~169K SLoC