Module A-15·18 min read

The decision framework: standalone for development and tolerable restart downtime, Sentinel for automatic failover with a single-node dataset, Cluster for horizontal scaling past single-node RAM. Operational cost of each and when managed Redis wins.

JJS
Written by Jatin Jain Saraf · Senior Software Engineer

A-15 — Topology Decision Tree: Standalone, Sentinel, or Cluster

This is the final module of the Architect tier. Every module in this course has built toward this decision. You now have the vocabulary, the mental models, and the production experience to answer the question every Redis architect eventually faces: what topology should I deploy? This module synthesises the course into a practical decision framework — not a flowchart, but a reasoned guide based on your actual requirements.


The Three Topologies

Standalone Redis

A single Redis primary with no high-availability configuration. The simplest deployment.

App → Redis Primary

What you get:

  • Zero operational complexity
  • Full command support (no Cluster restrictions)
  • Up to ~1M ops/sec on modern hardware
  • Dataset limited to one machine's RAM

What you don't get:

  • Automatic failover (Redis down = application down until manual recovery)
  • Data distribution beyond one node

Redis Sentinel

A primary with one or more replicas, monitored by 3+ Sentinel processes. Automatic failover on primary failure.

text

What you get:

  • Automatic failover (10–30 seconds of write downtime on primary failure)
  • Read scaling via replicas
  • Full command support (no Cluster restrictions on multi-key ops)
  • Dataset limited to one primary's RAM

What you don't get:

  • Horizontal write scaling
  • Dataset scaling beyond one machine's RAM

Redis Cluster

Data sharded across multiple primary nodes, each with replicas. Built-in failover.

text

What you get:

  • Horizontal write scaling (add nodes to add capacity)
  • Dataset scaling beyond single-node RAM
  • Built-in automatic failover per shard

What you don't get:

  • Unrestricted multi-key operations (keys on different slots require hash tags)
  • SELECT for multiple databases (database 0 only)
  • Simplicity — significantly more operational complexity

The Decision Framework

Work through these questions in order. Stop when you find your answer.

Question 1: Is Redis purely a cache where data loss is acceptable?

Yes → Use Standalone with no persistence.

The simplest deployment. If Redis goes down, your application falls back to the database, the cache re-populates on the next request, and you move on. The cost of Redis downtime is slower application response, not data loss.

This covers the majority of Redis use cases. Most Redis deployments are caches.


Question 2: Does your dataset fit in one machine's RAM?

64GB of application data → 64GB primary + 64GB replica → needs a machine with ≥ 128GB RAM for safe BGSAVE operation

A rough formula: machine RAM ≥ 1.5× dataset size (to handle BGSAVE CoW overhead).

Yes, it fits → continue to Question 3.
No, it does not fit → strong signal for Cluster (skip to Question 5).


Question 3: Can you tolerate manual failover?

Manual failover means: primary crashes → you get paged → you promote a replica with REPLICAOF NO ONE → you update application config → application reconnects. Typical duration: 5–30 minutes depending on on-call response time.

Yes, manual failover is acceptable (development, staging, non-critical production) → Standalone with a manually-managed replica for backups.

No, you need automatic failover → continue to Question 4.


Question 4: Do you need unrestricted multi-key operations?

If your application relies on MULTI/EXEC across arbitrary keys, Lua scripts accessing keys from different hash slots, or complex MGET/MSET patterns — Cluster's hash-slot restriction is a significant constraint.

Yes, you need unrestricted multi-key opsSentinel.

Sentinel gives you automatic failover with full command support and no Cluster restrictions.

No, you can work with hash tags and single-slot constraintsSentinel is still simpler unless you also need horizontal scaling.


Question 5: Do you need horizontal write scaling?

Can your write workload be handled by a single Redis node (up to ~500K writes/second)?

Sign in to keep reading

The rest of this module is free — sign in with Google to unlock it and track your progress.

Sign in & Register

Discussion

0

Join the discussion

Loading comments...

© 2026 Jatin Jain Saraf (JJS). All rights reserved.