API: Redis Clusters
Endpoints
| Method | Path | Description |
|---|
| POST | /v1/redis | Create a Redis cluster |
| GET | /v1/redis | List all Redis clusters |
| GET | /v1/redis/{id} | Get cluster details |
| DELETE | /v1/redis/{id} | Delete a cluster |
## Create Redis Cluster
POST /v1/redis
Request Body
{
"metadata": {"name": "prod-cache"},
"spec": {
"version": "7.2",
"mode": "sentinel",
"node_count": 3,
"eviction_policy": "allkeys-lru",
"persistence_enabled": true
}
}
Response (201)
{
"id": "redis-a1b2c3",
"metadata": {"name": "prod-cache", "created_at": "2025-01-15T10:30:00Z"},
"spec": {
"version": "7.2",
"mode": "sentinel",
"node_count": 3,
"eviction_policy": "allkeys-lru",
"persistence_enabled": true
},
"status": {
"state": "provisioning",
"endpoint": "",
"port": 6379,
"master_node": "",
"connected_replicas": 0
},
"operation_id": "op-redis-001"
}
RedisClusterSpec Fields
| Field | Type | Required | Description |
|---|
version | string | No | Redis version (default: 7.2) |
mode | string | Yes | standalone, sentinel, or cluster |
node_count | int | No | Number of nodes (default varies by mode) |
eviction_policy | string | No | Key eviction policy (default: allkeys-lru) |
persistence_enabled | bool | No | Enable AOF persistence (default: true) |
## Eviction Policies
| Policy | Description |
|---|
noeviction | Return error when memory limit reached |
allkeys-lru | Evict least recently used keys |
allkeys-lfu | Evict least frequently used keys |
volatile-lru | Evict LRU keys with TTL set |
volatile-lfu | Evict LFU keys with TTL set |
volatile-ttl | Evict keys with nearest TTL |