Redis Infrastructure
Redis serves as the distributed caching layer and session store for the Tarasol platform. Every service connects to Redis for caching frequently accessed data.
Use Cases
| Use Case | Service | Pattern |
|---|---|---|
| Session Storage | Gateway, Identity | Key-Value |
| Token Cache | Identity | Key-Value with TTL |
| User Profiles | Profile Service | Key-Value with TTL |
| Preferences | Profile Service | Key-Value with TTL |
| Tenant Config | All Services | Key-Value with TTL |
| Token Blacklist | Identity | Set with TTL |
TTL Strategy
| Data Type | TTL | Rationale |
|---|---|---|
| User Profiles | 5 min | Moderate change frequency |
| User Preferences | 10 min | Low change frequency |
| Avatar URLs | 1 hour | Rarely changes |
| Session Data | Variable | Based on token expiry |
| Tenant Config | 5 min | Moderate change frequency |
| Token Blacklist | Token lifetime | Must persist until token expires |
Setup
# Docker setup
docker run -d --name redis \
-p 6379:6379 \
redis:7-alpine
Configuration
| Name | Type | Default | Description |
|---|---|---|---|
| REDIS_HOST | string | localhost | Redis server hostname |
| REDIS_PORT | number | 6379 | Redis server port |
| REDIS_PASSWORD | string | - | Redis password (if authentication enabled) |
| REDIS_DB | number | 0 | Redis database number |
✓Tip
In production, use Redis Sentinel or Redis Cluster for high availability. Configure REDIS_SENTINEL_HOSTS for sentinel mode.