ElastiCache Redis vs Memcached — Which to Choose (SAA-C03)
ElastiCache Redis and Memcached are both in-memory caching engines, but they have different capabilities. The SAA-C03 exam tests your ability to pick the right engine based on specific requirements like persistence, replication, and data structure support.
Short answer
The correct answer is C. ElastiCache for Redis with cluster mode enabled and Multi-AZ replication groups.
This scenario has three requirements: sorted sets (leaderboards), persistence (survive node failure without data loss), and high availability with read replicas. All three point to Redis. Redis supports advanced data structures including sorted sets (ZADD/ZRANGE commands), which are the standard implementation for leaderboards. Redis supports persistence via RDB snapshots and AOF (append-only file). Redis supports replication with primary and read replica nodes. With cluster mode enabled and Multi-AZ replication groups, you get both horizontal sharding across multiple shards and automatic failover when a primary shard fails. Option A is wrong because Memcached does not support replication, persistence, or sorted sets. Option B (Redis, cluster mode disabled) works for a single shard with replicas but lacks the horizontal scaling of cluster mode — still a correct answer for smaller workloads but option C is more complete. Option D is wrong because Memcached does not support snapshots or persistence.
The Question
A gaming company stores user session data and leaderboard rankings in a caching layer. The leaderboard requires sorted sets to rank players efficiently. The team also needs the cache to survive a node failure without losing data, and they want read replicas for high availability. Which ElastiCache engine should a solutions architect recommend?
Why C is correct
This scenario has three requirements: sorted sets (leaderboards), persistence (survive node failure without data loss), and high availability with read replicas. All three point to Redis. Redis supports advanced data structures including sorted sets (ZADD/ZRANGE commands), which are the standard implementation for leaderboards. Redis supports persistence via RDB snapshots and AOF (append-only file). Redis supports replication with primary and read replica nodes. With cluster mode enabled and Multi-AZ replication groups, you get both horizontal sharding across multiple shards and automatic failover when a primary shard fails. Option A is wrong because Memcached does not support replication, persistence, or sorted sets. Option B (Redis, cluster mode disabled) works for a single shard with replicas but lacks the horizontal scaling of cluster mode — still a correct answer for smaller workloads but option C is more complete. Option D is wrong because Memcached does not support snapshots or persistence.
Why the other options are wrong
Memcached does not support replication, persistence, or advanced data structures like sorted sets. Multi-AZ for Memcached only means nodes are spread across AZs — if a node fails, the cached data on that node is permanently lost and must be re-fetched from the database.
Redis with cluster mode disabled supports a single shard (one primary + up to 5 read replicas). This works but limits you to the memory of a single node. Cluster mode enabled (option C) supports multiple shards for larger datasets. For this exam question, option C is the more complete answer for a gaming platform at scale.
Memcached does not support snapshots or any form of persistence. If a Memcached node is lost, all data in that node's memory is gone. This does not meet the "survive node failure without losing data" requirement.
ElastiCache Redis vs Memcached: the definitive comparison
ElastiCache offers two engines and the SAA-C03 exam almost always gives you a scenario where exactly one is correct. Memcached is a simple, multi-threaded, distributed in-memory key-value cache. It supports only simple key-value pairs (strings). It scales horizontally by adding nodes. There is no replication — each node is standalone. If a node fails, all data on that node is lost. There is no persistence — data is only in memory. It is excellent for simple, high-throughput caching where data loss is acceptable (e.g., cache of database query results that can be re-fetched). Use Memcached when: you need simple key-value caching at very large scale, you do not need persistence or replication, and you need multi-threading. Redis supports advanced data structures: strings, lists, sets, sorted sets (critical for leaderboards), hashes, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis supports persistence via RDB snapshots (point-in-time) and AOF logging (every write). Redis supports replication with a primary node and up to 5 read replicas. Replicas can serve reads to reduce primary load. Redis supports automatic failover — if the primary fails, ElastiCache promotes a replica (Multi-AZ required). Redis Cluster mode disabled: one shard (primary + replicas), up to 500GB total. Redis Cluster mode enabled: up to 500 shards, each with its own replicas. Exam memory aid: choose Redis when you see any of: sorted sets, persistence, replication, automatic failover, pub/sub, Lua scripting, complex data types, or "survive node failure." Choose Memcached when you see: "simple caching," "scale horizontally," or "multi-threaded performance" with no persistence requirement.
Ready to see how you'd score?
Take the free practice quiz and find out which AWS Solutions Architect Associate domains you need to focus on. No signup required.
Practice 5 similar questions
Same cert, same or adjacent domain. Use these after reviewing the explanation.