
- Reduce the number of database reads
- Decrease latency for end users
- Improve application responsiveness and scalability

- Application queries the cache.
- If the data exists (cache hit) — return it immediately.
- If the data does not exist (cache miss) — query the database, return the result, and optionally store it back in the cache.

- Managed provisioning, engine and OS patching, and monitoring
- Built-in failure recovery and automated maintenance operations
- Support for Redis and Memcached as drop-in engines
- Backup/restore for Redis (Memcached is ephemeral)
- Scaling options (scale out/in via clusters or scale up/down instance types)
- High availability features (Multi-AZ replication and automatic failover for Redis depending on configuration)

When to choose Redis vs. Memcached
-
Choose Redis if you need:
- Advanced data structures (lists, sets, sorted sets, hashes)
- Persistence or backup/restore capabilities
- Built-in replication, automatic failover, and Multi-AZ high availability
- Atomic operations and server-side scripting (Lua)
-
Choose Memcached if you need:
- A simple high-throughput, ephemeral cache
- Multi-threaded performance to utilize multiple CPU cores
- Lightweight key-value caching without persistence or replication concerns
Redis is a better fit when you need advanced data structures, durability, replication, or backups. Memcached can be preferable for simple, high-performance ephemeral caching where multi-threaded CPU utilization matters.
- Amazon ElastiCache is a fully managed, in-memory caching service that supports Redis and Memcached.
- Use caching to reduce database load, lower latency, and improve application scalability.
- Select Redis for durability and complex data structures; select Memcached for simple, high-throughput ephemeral caches.