Caches & Key-Value experimental 7 services 3.1 GiB RAM 30 GB disk

Redis Cluster

Sharded, horizontally-scaled Redis - 3 master shards + 3 replicas, keyspace partitioned automatically.

One-click deploy, from $25/mo on a Miget plan.

Redis Cluster shards your keyspace across multiple master nodes, so capacity and throughput scale horizontally instead of being capped by a single node. This template runs six nodes - three master shards, each with one replica - and a one-shot init that forms the cluster (verified locally: cluster_state ok, all 16384 slots covered).

Each node announces its service hostname (cluster-announce-hostname + hostname endpoints) so clients and cross-slot redirects use DNS rather than raw pod IPs. The init waits for every node, then forms the cluster once and is idempotent on re-run.

Use this when a single node is not enough. If you only need failover of one dataset (no sharding), redis-sentinel is simpler; for a single node, use redis.

#what you get

  • Automatic sharding across 3 master shards
  • 6 nodes (3 masters + 3 replicas) + one-shot forming init
  • Hostname-announced nodes for DNS-based routing
  • Scales capacity and throughput beyond one node
  • All internal-only, password-protected
  • Redis 8 is AGPL-3.0

#topology

ServiceRolePublic
redis-node-1..63 masters + 3 replicas (:6379)no (internal)
redis-initforms the cluster once, then exitsno

#miget sizing

// this stack needs

3.1 GiB RAM · 30 GB disk · 7 services

Six in-memory nodes - size RAM to total dataset divided across 3 shards (plus replicas). Experimental: Cluster expects stable node identity, and a pod IP change can require a re-meet.

Hobby - recommended fit

$25/mo

2 vCPU · 4 GiB · 80 GiB disk

Headroom for your own apps: 8 GiB at $49/mo

Professional - production

$85/mo

4 vCPU · 8 GiB · 50 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. the managed service

What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.

ServicePlanMonthlyWhat you get
Redis Cluster on Miget 4 GiB plan$25this whole stack, flat - no usage meters, and room left for your own apps
AWS ElastiCachecluster mode (6 nodes)~$723 shards + 3 replicas on-demand/mo at the smallest size
Redis CloudFlexible (sharded)usage-basedpriced by memory + throughput across shards

Managed cluster mode bills every shard and replica; self-hosted is one flat plan.

#vs. other PaaS

Estimated monthly cost of running this exact stack (3.1 GiB RAM, 30 GB disk, 7 containers) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $25 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$156 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
Render ~$57 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
DO App Platform ~$43 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Railway ~$36 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$23 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to redis-cluster
  3. Set the required variable:
    • REDIS_PASSWORD, shared by every node and the init
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/redis-cluster
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Why is it experimental?

Redis Cluster assumes stable node identities and is finicky on any per-pod platform. This template announces service hostnames so routing uses DNS, and it forms cleanly (smoke-tested), but a pod IP change can still need the cluster to re-meet. Treat it as a power-user topology.

Do my clients need changes?

Clients must be cluster-aware (ioredis, redis-py, Lettuce, go-redis all have a cluster mode). They connect to any node at redis-node-1:6379 and follow MOVED/ASK redirects to the owning shard automatically.

Cluster or Sentinel?

Cluster is for scale (sharding the keyspace across masters). Sentinel is for HA of a single dataset (failover, no sharding). If your data fits on one node, Sentinel is the simpler choice.

Ship Redis Cluster today

One compose stack, 3.1 GiB of RAM, from $25/month flat, and it runs on your laptop with the same files.