Expand description
Redis connection, caching, and work queue utilities.
This crate provides Redis connection management with connection pooling, distributed locking, caching with JSON serialization, and async work queues.
§Features
- Connection Pooling: Deadpool-based connection pooling
- Distributed Locks: Acquire and manage distributed locks
- JSON Caching: Cache JSON-serializable types with automatic serialization
- Work Queues: Async worker queues for background job processing
- Configuration: Environment-based configuration with prefix support
§Usage
```ignore use qm_redis::{Redis, RedisConfig};
#tokio::main async fn main() -> anyhow::Result<()> { let redis = Redis::new()?; let mut con = redis.connect().await?; Ok(()) } ```
§Environment Variables
| Variable | Description | Default |
|---|---|---|
REDIS_HOST | Redis host | 127.0.0.1 |
REDIS_PORT | Redis port | 6379 |
REDIS_DB | Redis database number | 0 |
REDIS_USERNAME | Redis username | (none) |
REDIS_PASSWORD | Redis password | (none) |
Re-exports§
pub use deadpool_redis::redis;
Modules§
- lock
- Distributed locking utilities.
- work_
queue - Work queue implementation.
Macros§
- redis
- Macro to implement AsRef
for a storage type.
Structs§
- Async
Worker - Async worker for processing jobs from a queue.
- Inner
- Internal state for Redis connection.
- Json
- JSON wrapper for Redis serialization.
- Producer
- Producer for adding jobs to a work queue.
- Redis
- Redis connection wrapper with connection pooling.
- Redis
Config - Redis configuration.
- Worker
Context - Context passed to worker functions.
- Workers
- Worker pool for background job processing.
Enums§
- Cache
Error - Error type for cache operations.
Traits§
- Work
- Trait for implementing worker logic.
Functions§
- mutex_
run - Runs async function exclusively using Redis lock.
Type Aliases§
- Exec
Item Future - Type for executable item futures.
- Running
Workers - Type for running worker futures.