1 个不稳定版本

0.1.0 2022年1月23日

#2840数据库接口

MIT/Apache

165KB
3.5K SLoC

Undis

badge-github badge-crates.io badge-docs.rs badge-ci

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-APACHELICENSE-MIT

贡献

除非您明确声明,否则任何有意提交以包含在作品中并由您定义的 Apache-2.0 许可证所定义的贡献,将根据上述方式双许可,没有任何额外的条款或条件。

依赖项

~5–17MB
~169K SLoC