Amazon ElastiCache is a fully managed in-memory data store and cache service by Amazon Web Services (AWS). The service improves the performance of web applications by retrieving information from managed in-memory caches, instead of relying entirely on slower disk-based databases. ElastiCache supports two open-source in-memory caching engines: Memcached and Redis (also called "ElastiCache for Redis").
As a web service running in the computing cloud, Amazon ElastiCache is designed to simplify the setup, operation, and scaling of memcached and Redis deployments. Complex administration processes like patching software, backing up and restoring data sets and dynamically adding or removing capabilities are managed automatically. Scaling ElastiCache resources can be performed by a single API call.
As a managed database service with multiple supported engines, Amazon ElastiCache has a wide range of uses, including
Using ElastiCache for database performance acceleration can significantly reduce the infrastructure needed to support the database. In many cases, the cost savings outweigh the cache costs. Expedia was able to use ElastiCache to reduce provisioned DynamoDB capacity by 90%, reducing total database cost by 6x.
Leaderboards are an effective way to show a user quickly where they currently stand within a gamified system. For systems with large numbers of gamers, calculating and publishing player ranks can be challenging. Using Amazon ElastiCache with the Redis engine can enable high-speed at scale for leaderboards.
Some APIs only allow a limited number of requests per time period. Amazon ElastiCache for Redis engine can use incremental counters and other tools to throttle API access to meet restrictions.
Programs can use incremental counters to limit allowed quantities, such as the maximum number of students enrolled in a course or ensuring a game has at least 2 but not more than 8 players. Using counters can create a race condition where an operation is allowed because a counter was not updated promptly. Using the ElastiCache for Redis atomic counter functions, where a single operation both checks and increments the counter's value, prevents race conditions.
Amazon ElastiCache can use on-demand cache nodes or reserved cache nodes.
On-demand nodes provide cache capacity by the hour, with resources in the AWS cloud assigned when a cache node is provisioned. An on-demand node can be removed from service by its owner at any time. Each month, the owner will be billed for the hours used.
Reserved nodes require a 1-year or 3-year commitment, which dedicates cache resources to the owner. The hourly cost of reserved nodes is significantly lower than the hourly cost of on-demand nodes.
Using the online management console is the simplest way to monitor ElastiCache with CloudWatch. It allows to set up basic automated alerts and to get a visual picture of recent changes in individual metrics.
Metrics related to ElastiCache can also be retrieved using command lines. It can be used for spot checks and ad hoc investigations.
The third way to collect ElastiCache metrics is via a dedicated monitoring tool integrating with Amazon CloudWatch.
Users of Amazon ElastiCache include
As an AWS service, ElastiCache is designed to be accessed exclusively from within AWS, though it is possible to connect the service to applications and databases that are not hosted by AWS.
Other vendors provide cloud data cache services comparable to Amazon ElastiCache, including Redis Labs (company behind open source Redis and Redis Enterprise), Redis To Go, IBM Compose, openredis, Redis4You, RedisGreen and Rackspace ObjectRocket.
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.