Amazon ElastiCache for Valkey and for Redis OSS

Real-time performance for real-time applications

What is Amazon ElastiCache?

Amazon ElastiCache is an in-memory data store that provides microsecond latency to power internet-scale, real-time applications. ElastiCache is compatible with Valkey and Redis OSS APIs and works with clients and data formats to store your data, which means your applications work seamlessly without any code changes. ElastiCache combines the speed, simplicity, and versatility of Valkey and Redis OSS with the manageability, security, and scalability from Amazon to power the most demanding real-time applications in Gaming, Ad-Tech, E-Commerce, Healthcare, Financial Services, and IoT.

Benefits

Amazon ElastiCache works as an in-memory data store to support the most demanding applications requiring sub-millisecond response times. In comparison to disk-based databases where most operations need a round trip to disk, in-memory data stores manage data in-memory which is an order of magnitude faster than disks. The result is performance with average read or write operations taking less than a few microseconds and support for hundreds of millions of operations per second within a cluster. ElastiCache gives you an optimized end-to-end hardware and software stack for fast performance. You can achieve over 1 million requests per second per node, or 500 million request per second per cluster, on r7g.4xlarge nodes or larger.

ElastiCache provides you with the ability to create and manage users and user groups that can be used to set up Role-Based Access Control (RBAC) for Valkey and Redis OSS commands. You can simplify your architecture while maintaining security boundaries, and also take advantage of granular access control to manage groups. You can use AWS Identity and Access Management (IAM) to connect to ElastiCache using IAM identities. ElastiCache supports Amazon VPC, so you can isolate your cluster to the IP ranges you choose for your nodes. The ElastiCache team continuously monitors for known security vulnerabilities in Valkey and Redis OSS, operating system, and firmware to keep your environment secure. It is PCI compliant, HIPAA eligible, FedRAMP authorized, and offers encryption in transit, at rest (including customer managed CMK stored in AWS KMS), and Valkey and Redis OSS AUTH for secure internode communications to help keep sensitive data such as personally identifiable information (PII) safe.

Learn more about Role-based AccessControl (RBAC)
Learn more about ElastiCache IAM Authentication
Learn more about VPC for ElastiCache

Valkey and Redis OSS are in-memory data stores for use as a database, cache, message broker, queue, session store, and leaderboard. Amazon ElastiCache maintains compatibility with Valkey and Redis OSS data formats, APIs, and clients. You can migrate your self-managed Valkey or Redis OSS workloads to ElastiCache without any code change. 

Amazon ElastiCache is a fully managed service. You no longer need to perform management tasks such as hardware provisioning, software patching, setup, configuration, monitoring, failure recovery, and backups. ElastiCache continuously monitors your clusters to keep your them up and running so that you can focus on higher value application development. It provides detailed monitoring metrics of your usage, enabling you to track application trends and adjust cluster configuration as needed. ElastiCache adds automatic write throttling, intelligent swap memory management, and failover enhancements to improve upon the availability and manageability of Valkey and Redis OSS. 

 

Amazon ElastiCache supports both cluster and non-cluster modes and provides high availability via support for automatic failover by detecting primary node failures and promoting a replica to be primary with minimal impact. It allows for read availability for your application by supporting read replicas (across availability zones), to enable the reads to be served when the primary is busy with the increased workload. ElastiCache supports enhanced failover logic to allow for automatic failover in cases when majority of the primary nodes for cluster mode are unavailable. On ElastiCache for Valkey or ElastiCache versions 5.0.5 onwards for Redis OSS, auto-failover enabled clusters provide online configuration changes for all planned operations. Learn more about automatic failover for ElastiCache.

Use cases

Caching

Amazon ElastiCache is a great choice for implementing a highly available, distributed, and secure in-memory cache to decrease access latency, increase throughput, and ease the load off your relational or NoSQL databases and applications. ElastiCache can serve frequently requested items at microsecond latency, and enables you to easily scale for higher loads without growing the costlier backend databases. Database query results caching, persistent session caching, and full-page caching are all popular examples of caching with ElastiCache.

Chat and Messaging

Amazon ElastiCaches supports the PUB/SUB standard with pattern matching. This allows ElastiCache to support high performance chat rooms, real-time comment streams, and server intercommunication. You can also use PUB/SUB to trigger actions based on published events.

Gaming Leaderboards

Real-time gaming leaderboards are easy to create with Amazon ElastiCache. Simply use Valkey or Redis OSS sorted set data structure, which provides uniqueness of elements while maintaining the list sorted by their scores. Creating a real-time ranked list is as simple as updating a user's score each time it changes. You can also use sorted sets to handle time series data by using timestamps as the score.

Geospatial

Amazon ElastiCache offers purpose-built in-memory data structures and operators to manage real-time geospatial data at scale and speed. You can use ElastiCache to add location-based features such as drive time, drive distance, and points of interests to your applications. Learn how to build a geospatial application with ElastiCache.

Media Streaming

Amazon ElastiCache offers an in-memory data store to power live streaming use cases. ElastiCache can be used to store metadata for user profile and viewing history, authentication information/tokens for millions of users, and manifest files to enable CDNs to stream videos to millions of mobile and desktop users at a time.

Machine Learning

Amazon ElastiCache gives you an in-memory data store to build and deploy machine learning models quickly. Use ElastiCache for use cases such as fraud detection in gaming and financial services, real-time bidding in ad-tech, and matchmaking in dating and ride sharing to process live data and make decisions within tens of milliseconds. Learn how Coffee Meets Bagel uses ElastiCache for real-time machine learning-based dating recommendations.

More use cases

Real-time Analytics

Use Amazon ElastiCache with streaming solutions such as Apache Kafka and Amazon Kinesis as an in-memory data store to ingest, process, and analyze real-time data with sub-millisecond latency.

Queues

Amazon ElastiCache offers List data structure making it easy to implement a lightweight, persistent queue. Lists offer atomic operations as well as blocking capabilities, making them suitable for a variety of applications that require a reliable message broker or a circular list.

Session Store

Amazon ElastiCache is highly suited as a session store to manage session information such as user authentication tokens, session state, and more. Simply use ElastiCache as a fast key-value store with appropriate TTL on session keys to manage your session information. Session management is commonly required for online applications, including games, e-commerce websites, and social media platforms.

Steps for Amazon ElastiCache

1

Start building

Begin building with help from the user guide.

2

Learn with simple tutorials

3

Sign up

Get access to the ElastiCache Free Tier.