Connect rust with redis

Hello! Can anyone help me for connect rust in redis? I try to connect using this

pub async fn new_redis_pool() -> Result<Rc> {
    // let rc_url = config().rc_url.as_str();
    let redis_url = "localhost:6379";
    let redis_pwd = "";

    let redis_url = format!("{}://:{}@{}", "redis", redis_pwd, redis_url);

    let client = redis::Client::open(redis_url).map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;

    let mut con = ConnectionManager::new(client).await.map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;

    let _: () = con.set("my_key", 42).await.map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;
    println!("REDIS ON");
    Ok(con)
}

No error occurs, but dont set my_key in redis.

I see in redis Insigh.

I'm doing it this way, because I want to share the rust connection in my axum state

Try changing redis_url to 127.0.0.1. It will use the por 6379 by default.

Unfortunately didn't work..

pub async fn new_redis_pool() -> Result<Rc> {
    // let rc_url = config().rc_url.as_str();
    let redis_url = "127.0.0.1";
    let redis_pwd = "";

    let redis_url = format!("{}://:{}@{}", "redis", redis_pwd, redis_url);

    let client = redis::Client::open(redis_url).map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;

    let mut con = ConnectionManager::new(client).await.map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;

    let _: () = con.set("my_key", 42).await.map_err(|err: redis::RedisError| Error::FailToConnectRedis(err.to_string()))?;
    println!("REDIS ON");
    Ok(con)
}

my docker-compose if it is utility

  redis:
    image: redis:alpine3.20
    volumes:
      - ./redis_data:/data
    ports:
      - "6379:6379"

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.