[−][src]Crate redis_async_pool
Deadpool manager for asynchronous Redis connections
redis-async-pool implements a deadpool manager for asynchronous
connections of the redis crate. Pooled connections can be used
as regular redis::aio::Connection
.
Features
- runtime agnostic (tested with tokio or async-std)
- optional check of connection on recycle
- optional ttl on connections
Example
use redis::AsyncCommands; use redis_async_pool::{RedisConnectionManager, RedisPool}; // Create a pool of maximum 5, checked on reuse without ttl. let pool = RedisPool::new( RedisConnectionManager::new(redis::Client::open("redis://localhost:6379")?, true, None), 5, ); // get a connection with the get() asyncc method and use it as regular redis connection let mut con = pool.get().await?; con.set(b"key", b"value").await?; let value: Vec<u8> = con.get(b"key").await?; assert_eq!(value, b"value");
You can set a ttl for each created connection by the pool, this helps avoiding huge memory consumption when keeping many connections open during a too long time.
Re-exports
pub use deadpool; |
Structs
RedisConnection | The connection created by the pool manager. |
RedisConnectionManager | Manages creation and destruction of redis connections. |
Type Definitions
RedisPool | The redis connection pool |