1 unstable release
0.1.0-alpha.0 | Apr 22, 2023 |
---|
#2084 in Database interfaces
10KB
146 lines
redi-rs (or redirs)
redi-rs is a Lightweight Redis client with connection pooling written in Rust and 100% memory safe
redi-rs is a Redis client written in Rust. It is a lightweight client with connection pooling and 100% memory safe. You can use it in your Rust project to connect to Redis and perform operations.
Features
- Connection pooling
To Do
- Typed commands (
pool.setex("foo", 10, "bar")
,pool.get("foo") or pool.hset("foo", "bar", "baz")
- TLS support
- Redis Cluster support
- Redis Streams support
- Redis Pub/Sub support
Usage
Add this to your Cargo.toml:
[dependencies]
redi-rs = "0.1.0-alpha.0"
Example
use std::net::SocketAddr;
use std::str::FromStr;
use redi_rs::RedisPool;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut pool = RedisPool::from_str("localhost:6379").unwrap();
// Or from SocketAddr
// let mut pool = RedisPool::from(SocketAddr::from(([127, 0, 0, 1], 6379)));
pool.max_connections(10).establish_pool().await?;
pool.send_command("SET foo bar").await?;
Ok(())
}
More examples can be found in the examples directory.
License
redi-rs is licensed under the MIT license. See LICENSE for more information.
Contributing
Open an issue or a pull request.
Dependencies
~2.4–8MB
~58K SLoC