WavebreakmediaMicro - Fotolia
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. 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.
Boost app performance with Amazon ElastiCache
Redis improves performance of database queries
Words to go: AWS storage
Dig Deeper on AWS database management
Related Q&A from Stephen J. Bigelow
Containers have rapidly come into focus as a popular option for deploying applications, but they have limitations and are fundamentally different ... Continue Reading
ALM and SDLC both cover much of the same ground, such as development, testing and deployment. Where these lifecycle concepts differ is the scope of ... Continue Reading
Eliciting performance requirements from business end users necessitates a clearly defined scope and the right set of questions. Expert Mary Gorman ... Continue Reading