Undis is a serde-compatible redis library for Rust.
For most use cases the Client
is the only thing you need to know.
```rust use undis::Client; use serde::{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); ```
You may want to send some requests which are not supported as a method.
This is possible using raw_command
.
rust
let res: MyStruct = client.raw_command(("CUSTOMCOMMAND", "ARG1", 42, "ARG2", "FOO")).await?;
resp3
module into its own crate, with better multi-crate project layout.Undis is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.