What is Amazon Elasticache?

Amazon Elasticcache is a service that makes it easy to deploy, operate, and scale open-source, in-memory data store in the cloud. The service improves the performance through caching where web applications allow you to retrieve information from fast managed in-memory data stores instead of relying entirely on slower disk-based solutions.

Caching — Additional memory enables our device to store frequently accessed information in memory instead of having to request the information from the hard drive

Overview of in-memory caching

Web apps


Amazon Elasticache Engines

Amazon Elasticache for Memcached — A high-performance, submillisecond latency Memcached-compatible, in-memory, key-value store service that can either be used as a cache, in addition to a data store.

Amazon Elasticache for Redis — An in-memory data store designed for high performance and again providing sub-millisecond latency on a huge scale to real-time applications.

Use cases

Memcached: Caching, Session Store

Redis: Caching, Session Store, Chat and Messaging, Gaming Leaderboards, Geospatial, Machine Learning, Media Streaming, Queues, Real-Time Analytics

Components of ElasticCache

Node — A fixed-sized chunk of secure, network-attached RAM

Shard — Redis Shard(node group) a group of up to 6 ElasticCache nodes

Redis Cluster — A group of 1–90 Redis shards

Memcached Cluster — A collection of one or more cache nodes

Common use cases

  • Online Gaming industry — where it’s vital statistical information like a scoreboard is presented as quickly and consistently as possible to all the players in the game
  • Social network website — Storing temporary session information in session management
  • Real-time analytics — used in conjunction with other services such as Amazon Kinesis to ingest, process, and analyze data at scale

In-memory Cache — Often users are scanning these websites for information like who currently has the high score in a game, what is your friend up to, or guidance on the best restaurant.

Elasticache should never be used to store your only version of data records since a cache is designed to be a temporary data store so when data persistence is necessary like when working with primary data records or when we need write performance rather than read performance.

Nadtakan Futhoem — Sr. Software Engineer