redi-rs

Crates.ioredi-rs
lib.rsredi-rs
version0.1.0-alpha.0
sourcesrc
created_at2023-04-22 17:00:40.068448
updated_at2023-04-22 17:00:40.068448
descriptionLightweight async Redis client with connection pooling written in pure Rust and 100% memory safe
homepage
repository
max_upload_size
id846057
size21,065
Oguz Turkay (roku-on-it)

documentation

README

redirs Logo

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.

Commit count: 0

cargo fmt