AWS ElastiCache supports two engines:
Redis is an in-memory data structure store, used as a distributed non-relational database, cache, and message broker. It provides data structures like strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. AWS ElastiCache for Redis is fully managed, making it easy to deploy, run, and scale Redis applications.
Example of creating a Redis cluster:
aws elasticache create-cache-cluster --cache-cluster-id my-redis-cluster \ --engine redis --cache-node-type cache.t2.micro \ --num-cache-nodes 1 --security-group-ids sg-123456
Amazon ElastiCache for Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. It's designed to provide low-latency access to data by caching frequently-used objects in memory, thereby reducing the need to fetch them from slower storage systems.
Example of creating a Memcached cluster:
aws elasticache create-cache-cluster --cache-cluster-id my-memcached-cluster \ --engine memcached --cache-node-type cache.t2.micro \ --num-cache-nodes 1 --security-group-ids sg-123456
Both engines are suitable for different use cases. Redis is recommended when you need advanced data structures, persistence, or pub/sub capabilities, while Memcached is ideal for simple caching scenarios where simplicity and ease of use are key factors.
Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.