Elasticache
What is ElastiCache?
A fully managed, serverless memory caching service that comes in two different flavours; Memcached and Redis. The Redis variation also has a cluster type as well as a singular variation. Elasticache is an in-memory database which offers high peformance and low latency to applications. It runs on EC2 and can be placed in front of RDS or DynamoDB.
ElastiCache Feature Table:
| Feature | Memcached | Redis Cluster | Redis |
| Data Persistence | No | Yes | Yes |
| Data Types | Simple | Complex | Complex |
| Data Partitioning | Yes | Yes | No |
| Encryption | No | Yes | Yes |
| HA | No | Yes | Yes |
| Multi-AZ | Multi-AZ but no failover or replication. | Yes w/ Auto Failover using read replicas | Yes w/ Auto failover using read replicas. |
| Scaling | up and out. | Up and out (Shards). | Up and out (replicas) |
| Multithreaded | Yes | No | No |
| Backup and Restore | No | Yes automatic and manual snapshots | Yes automatic and manual snapshots. |
Use Cases:
- Storing session states.
- Storing static data that is frequently accessed.
- Apps must be tolerant of stale data.
- Web session stores, DB Caching, Leaderboards, streaming data dashboards.
