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
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading