This project is licensed under either Apache License, Version 2.0, zlib License, or MIT License, at your option.
If you need help with this library or have suggestions please go to our Discord Group
RedisPool uses [tokio
] runtime.
```toml
[dependencies] redis_pool = "0.1.0" ```
axum
: Enables axum FromRequestParts to retrieve from State.
json
: Enabled serde's json for Redis.
cluster
: Enabled Redis Cluster Client and connections.
```rust norun use redispool::{RedisConnectionManager}; use axum::{ Router, routing::get, }; use std::time::Duration;
async fn main() { let redisurl = "redis://default:YourSecretPassWord@127.0.0.1:6379/0"; let client = redis::Client::open(redisurl).expect("Error while testing the connection"); let manager = RedisConnectionManager::new(client, 5);
// build our application with some routes
let app = Router::with_state(manager)
.route("/drop", get(drop_table));
// run it
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
tracing::debug!("listening on {}", addr);
axum::Server::bind(&addr)
.serve(app.into_make_service())
.await
.unwrap();
}
async fn testpool(manager: RedisConnectionManager) -> String { let mut connection = manager.aquire().await.unwrap(); redis::pipe() .set(0, "Hello") .ignore() .queryasync(&mut connection) .await.unwrap();
redis::cmd("GET").arg(0).query_async(&mut connection).await.unwrap()
} ```