WavebreakmediaMicro - Fotolia

Which caching engines does Amazon ElastiCache support?

Amazon ElastiCache supports Redis and Memcached as in-memory caching engines. What are the main features of each and how do they differ?

An efficient cache process uses algorithms to decide what data is important and how it is stored. Applications that use the data are usually designed to deploy some form of caching engine. Amazon ElastiCache supports two major open source in-memory caching engines: Memcached and Redis.

ElastiCache users typically select between the two caching engines, depending on the design of the corresponding application.

Memcached is a general-purpose distributed memory caching system for Linux, OS X and Windows.

memcached is a general-purpose distributed memory caching system for Linux, OS X and Windows. It's well suited for AWS' scalable, cluster-based cache node system, and it can be applied to many in-memory caching tasks, such as caching data objects from databases for busy websites. Memcached client libraries are available for many popular programming languages, such as PHP, Perl and Python. Developers typically choose the Memcached mode of ElastiCache when they want the simplest caching model that supports the largest multithreaded cache nodes and high scalability. ElastiCache currently supports Memcached 1.4.5, 1.4.14 and 1.4.24.

Redis is an open source, in-memory data store that is often applied with database and message broker workloads. But Redis is more complex and full featured than Memcached; it supports strings, hashes, sets, bitmaps, geospatial indexes and other high-end objects. Redis also supports replication, scripting, high availability and disk persistence. It's a caching engine that many developers choose to handle complex data types, perform in-memory sorting and use data protection capabilities, such as backup, restoration, replication and node failover. ElastiCache currently supports Redis 2.6.13, 2.8.6, 2.8.19, 2.8.21, 2.8.22, 2.8.23 and 2.8.24.

A developer can select the preferred version of Memcached or Redis to deploy when creating an ElastiCache cluster, ensuring the application has access to the latest caching features and functionality for the desired engine. Developers can upgrade caching engines after creating the cluster, but versions cannot be downgraded later.

Next Steps

Boost app performance with Amazon ElastiCache

Redis improves performance of database queries

Words to go: AWS storage

Dig Deeper on AWS database and analytics strategy

App Architecture
Cloud Computing
Software Quality