Redis
Overview
Redis is used for caching and queue management via Laravel Horizon. It runs as a separate service in the Docker stack and is required for both development and production environments.
Usage
| Feature | Redis Usage | Key Prefix |
|---|---|---|
| Cache | CACHE_DRIVER=redis | sutomo_cache: |
| Session | SESSION_DRIVER=redis | sutomo_session: |
| Queue | QUEUE_CONNECTION=redis | sutomo_queue: |
| Rate Limiter | Throttle keys | sutomo_rate: |
| Lock | Atomic locks | sutomo_lock: |
Laravel Horizon
Horizon provides a dashboard for monitoring queues at /portal/horizon.
env
QUEUE_CONNECTION=redis
HORIZON_PREFIX=sutomo_horizon:Queue Workers
| Queue | Processes | Description |
|---|---|---|
default | 3 | General jobs |
notifications | 2 | Email, WhatsApp notifications |
uploads | 1 | Image processing, CDN uploads |
Environment Variables
env
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
FILESYSTEM_DISK=localKey Files
| File | Purpose |
|---|---|
config/database.php | Redis connection configuration |
config/cache.php | Cache driver and prefix settings |
config/queue.php | Queue connection configuration |
config/horizon.php | Horizon worker definitions |
docker-compose.yml | Redis service definition |