- Elasticache is an AWS fully managed Web Service.
- It is an in memory key value data store engine in the cloud.
- It improves the performance of web applications by allowing for retrieval of Information from a fast, managed, in memory system (instead of reading it from DB itself).
- Improves response time for user transactions and queries.
- Can enhance response time for read intensive and/or compute intensive workload.
- It offloads the read workloads from the main DB instances.
- It does this by storing the results of frequently accessed pieces of data in memory.
- A node is a fixed sized chunk of secure, network attached RAM and is the smallest building block. Each Node runs an instance of Memached or Redis protocol compliant service and has its own DNS name and port.
- Failed nodes are automatically replaced.
- Access to Elasticache is controlled by VPC Security groups and subnet groups
- You can not move an existing Amazon Elasticache Cluster from outside VPC into a VPC.
- Applications connect to Elasticache clusters using endpoints. An endpoints is nodes or clusters unique address.
ElastiCache: Supports two caching engines:-
- Memcached (its not a data store(DB), only cache)
- Redis (is the fast NoSQL–can be used as database).
|Memcached Elasticache is not persistent.||Redis is persistent|
|Can not be used as a data store||It can be used as a data store.|
|Ideal front end for data stores (RDS,DynamoDB)|
|Use cases:- |
Cache content for DB.
Cache data from dynamically generated Webpages.
Transient session data,
|Memcached does not support replication, a node failure will result in data loss.Use multiple nodes in each shard to minimize data loss on node failure.||Redis uses multiple nodes in each shard and distribute the nodes across multiple AZs.|
Enables Multi-AZ on the replication group to permit automatic fail over if the primary nodes fails.
|Memcached does not support snapshots||Schedules regular backup of Redis cluster.|
- Billed by Node size and hours of use.
- Partial Node hours consumed are billed as full hours.
- There is no charge for data transfer between Amazon EC2 and Amazon Elasticache within the same availability zone.
Elasticache Exam Tips:
Typically you will be given a scenario where a particular database is under a lot of stress/load. You may be asked which service you should use to alleviate this.
Elasticahe is a good choice if your database is particularly read heavy and not prone to frequent changing.