Redis
In-memory data store for caching, sessions, and message queuing.
Overview
Redis provides fast caching and session storage for multiple services.
| Property | Value |
|---|---|
| Image | redis:7-alpine |
| Container | redis |
| Port | 6379 (internal) |
| Config | ~/ravenhelm/services/docs/infrastructure/redis/ |
| Data | ~/ravenhelm/data/docs/infrastructure/redis/ |
Database Allocation
| DB | Service | Purpose |
|---|---|---|
| 0 | Norns | General cache |
| 1 | n8n | Workflow state |
| 2 | Langfuse | Trace cache |
| 3 | Voice Gateway | Session data |
Quick Commands
# Check health
docker exec redis redis-cli -a $REDIS_PASSWORD ping
# Connect to CLI
docker exec -it redis redis-cli -a $REDIS_PASSWORD
# View all keys
docker exec redis redis-cli -a $REDIS_PASSWORD KEYS "*"
# Get memory usage
docker exec redis redis-cli -a $REDIS_PASSWORD INFO memory
# View logs
docker logs -f redis
# Restart
docker restart redis
Configuration
docker-compose.yml
services:
redis:
image: redis:7-alpine
container_name: redis
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes
volumes:
- ../../data/docs/infrastructure/redis:/data
networks:
- ravenhelm_net
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 5s
retries: 5
Health Check
# Ping test
docker exec redis redis-cli -a $REDIS_PASSWORD ping
# Info
docker exec redis redis-cli -a $REDIS_PASSWORD INFO
# Connected clients
docker exec redis redis-cli -a $REDIS_PASSWORD CLIENT LIST
Troubleshooting
Issue: Connection Refused
Symptoms: Services can't connect to Redis
Diagnosis:
docker ps | grep redis
docker logs redis | tail -20
Solutions:
- Verify container is running
- Check password in service
.env - Verify network connectivity
Issue: Memory Full
Symptoms: OOM errors
Diagnosis:
docker exec redis redis-cli -a $REDIS_PASSWORD INFO memory
Solutions:
- Increase maxmemory setting
- Configure eviction policy
- Clear unused keys