// OSSeva Blog
MigrationRedis vs Memcached vs Valkey: Features, Threading, Licensing and ElastiCache Options
The short answer
Use Memcached when all you need is a fast, disposable cache of objects and you want to scale it by adding nodes. Use Redis or Valkey when you need anything more: data structures, persistence, replication, failover, pub/sub, streams or search. Between Redis and Valkey the technical gap is small; the deciding factor is usually licence and governance. Valkey is BSD-licensed under the Linux Foundation. Redis 8 and later are available under RSALv2, SSPLv1 or AGPLv3. Memcached is BSD-licensed and does one job well.
Redis vs Memcached vs Valkey at a glance
| Memcached | Redis | Valkey | |
|---|---|---|---|
| Licence | BSD-3-Clause | 7.2 and earlier BSD-3-Clause; 7.4 RSALv2 or SSPLv1; 8 and later RSALv2, SSPLv1 or AGPLv3 | BSD-3-Clause |
| Steward | Memcached project | Redis Ltd. | Linux Foundation project |
| Data model | Keys and opaque values | Strings, hashes, lists, sets, sorted sets, streams, JSON, probabilistic types, time series, vector sets | Strings, hashes, lists, sets, sorted sets, streams; JSON, Bloom and search as modules |
| Persistence | None; warm restart survives a clean restart only | RDB snapshots, AOF log, or both | RDB snapshots, AOF log, or both |
| Replication and failover | None in the server | Replicas, Sentinel and Redis Cluster | Replicas, Sentinel and cluster mode |
| Threading | Multithreaded, 4 worker threads by default | "Mostly single threaded"; optional I/O threads, off by default | I/O threads read, parse and write; commands execute on one thread |
| Scaling out | Clients hash keys across independent servers | Redis Cluster shards keys across nodes | Cluster mode shards keys across nodes |
Memcached: a cache and nothing else
Memcached describes itself as a "high-performance, distributed memory object caching system". Its design is deliberately narrow. Servers do not talk to each other; clients decide which server holds a key by hashing it. The FAQ answers the replication question in two words: "It doesn't." Every operation is meant to run in constant time, and there are no complex operations to slow it down. Memory is divided into 1 MB pages assigned to slab classes, each with its own LRU, and items are evicted when memory runs out. The default maximum item size is 1 MB.
Recent releases add features without changing that model. Warm restart, from 1.5.18, keeps the cache across a planned restart, though the project says it "does not make memcached crash safe". Extstore extends the cache onto flash storage for larger values. There is also a built-in proxy and TLS support. The current release is 1.6.45, from 9 July 2026.
That narrowness is its strength. A Memcached tier is easy to size, easy to run and loses nothing important when a node dies, provided the application treats it as a cache.
Redis and Valkey: data structure servers
Redis calls itself a data structure server. Beyond strings, it offers hashes, lists, sets, sorted sets, streams, geospatial indexes and, in Redis 8, JSON, probabilistic types, time series and vector sets in the core distribution. It can persist data with point-in-time RDB snapshots, an append-only file that by default fsyncs every second, or both. Replication, Sentinel for failover and Redis Cluster for sharding are built in. That makes Redis useful as a session store, queue, leaderboard, rate limiter or message bus, as well as a cache.
Valkey is the Linux Foundation fork created after Redis Ltd. changed the Redis licence in 2024, launched by contributors from Alibaba, Amazon, Ericsson, Google, Huawei and Tencent eight days after the change. It keeps the BSD licence and the Redis 7.2 command set and protocol, and has added features since. Valkey 8 moved reading, parsing and writing onto I/O threads while keeping command execution single-threaded. Valkey 9.1.0 shipped on 19 May 2026, and the valkey-search module adds vector and full-text search. Our Valkey vs Redis comparison and Redis licence change explainer cover the split in detail.
Redis vs Memcached vs Valkey: how to choose
- Choose Memcached for a pure look-aside cache of rendered fragments, query results or serialised objects, where any entry can be rebuilt from the database, values are modest in size, and you want to add or remove nodes freely.
- Choose Valkey when you need Redis-style data structures, persistence or replication, and want a BSD licence under foundation governance. It is the usual choice for teams on Redis 7.2 or earlier who want to stay on a permissive licence.
- Choose Redis when you want features only Redis Ltd. ships, such as its integrated modules and vector sets, or Redis Ltd.'s commercial products, and the RSALv2, SSPLv1 or AGPLv3 terms suit you.
Moving from Memcached to Redis or Valkey is usually straightforward for plain get and set, because both handle simple key-value caching; client libraries and serialisation are what need attention. Moving from Redis to Valkey is covered in migrating from Redis to Valkey.
Redis vs Memcached on AWS: ElastiCache
Amazon ElastiCache works with three engines: Valkey, Memcached and Redis OSS. Each can run serverless or as a node-based cluster. ElastiCache Serverless is compatible with Valkey 7.2 and later, Memcached 1.6.22 and later, and Redis OSS 7.1. AWS's own engine guide says to choose Memcached if you need "the simplest model possible", large nodes with multiple cores or threads, the ability to scale out and in, and object caching. In its comparison table, Memcached has no replication, no pub/sub, no sorted sets, and backup and restore only on serverless caches, while Valkey and Redis OSS have all of those.
| ElastiCache engine | Versions offered | Notes from AWS documentation |
|---|---|---|
| Valkey | 7.2 to 9.1 | All Redis OSS 7.2 features available; 8.2 adds vector search; 9.0 adds full-text and hybrid search and optional durability through a Multi-AZ transaction log |
| Redis OSS | Up to 7.1 | Standard support for v4 and v5 ended on 31 January 2026 and for v6 ends on 31 January 2027, followed by paid Extended Support |
| Memcached | Up to 1.6.22 | Multithreaded; no replication; extstore not included |
ElastiCache does not offer Redis 7.2 or later under the Redis name; its newer releases are Valkey, and AWS supports upgrading some Redis OSS clusters to Valkey. If you run ElastiCache for Redis OSS 6 or earlier, our ElastiCache Extended Support post and ElastiCache Extended Support comparison cover the options.
Performance
For simple gets and sets on small values, all three are fast enough that the network and client usually dominate. The architectural differences show at scale: Memcached spreads command execution across worker threads on one large node, while Redis and Valkey execute commands on one main thread and scale by adding shards, with I/O threads taking network work off that thread. AWS's guidance to choose Memcached for "large nodes with multiple cores or threads" follows from this. Rich data structures can also make Redis or Valkey faster in practice, because one server-side operation on a sorted set or hash replaces several round trips. Measure with your own key sizes, value sizes and access patterns.
Where OSSeva fits
OSSeva supports Redis and Valkey; it does not support Memcached. OSSeva for Redis ships CVE-patched builds of Redis 6.2 and 7.0 under their original BSD licence, supports 7.2, and supports Valkey 7.2 and 8.x as the BSD path forward, across standalone, Sentinel and Cluster deployments. OSSeva Assure adds ACL, persistence and TLS reviews; OSSeva Operate adds 24/7 monitoring and a 15-minute P1 response with a named Redis engineer. Support starts on the binaries you run today, so a Valkey move can follow on your schedule. See Redis extended support, Redis Enterprise alternatives and Redis and Valkey support providers. Redis and Valkey are priced per instance cluster, not per GB of memory, and sit under one contract with PostgreSQL, MySQL, MongoDB and Kafka. Book a discovery call for a quote.
Frequently asked questions
Redis vs Memcached vs Valkey: what is the difference?
Memcached is a multithreaded key-value cache with no persistence or replication. Redis and Valkey are data structure servers with persistence, replication, failover, pub/sub and clustering. Valkey is the BSD-licensed Linux Foundation fork of Redis 7.2; Redis 8 and later are under RSALv2, SSPLv1 or AGPLv3.
Redis vs Memcached on AWS: which ElastiCache engine should I pick?
Memcached for a simple object cache on large multi-core nodes that you scale by adding nodes. Valkey for everything else, including replication, failover, persistence options and search. ElastiCache's Redis OSS engine stops at 7.1, and older Redis OSS versions are moving into paid Extended Support.
Is Memcached faster than Redis?
For plain gets and sets on one large multi-core node, Memcached's multithreaded execution can use more cores; Redis and Valkey scale by sharding instead. Which is faster for you depends on your workload, so measure it.
Does Memcached support persistence or replication?
No replication, by design. Warm restart can keep the cache across a clean restart from 1.5.18, but it does not survive a crash. Treat Memcached data as disposable.
When should I use Memcached instead of Redis?
When the data is a pure cache that can be rebuilt from the database, values are simple, and you want the simplest system to run. If you need lists, sorted sets, counters with persistence, pub/sub or failover, use Redis or Valkey.
Is Valkey a drop-in replacement for Redis?
For Redis 7.2 and earlier, largely yes; AWS states that all Redis OSS 7.2 features are available in Valkey 7.2 and above. Features added only to Redis after the fork, and Redis Ltd.'s modules, need checking before you move.
Tags
Related articles
How to Consolidate Open Source Database Support Contracts Without Migrating Anything
October 7, 2026OperationsWho Supports PostgreSQL, MySQL, MariaDB, Valkey and RabbitMQ Under One Contract?
October 7, 2026MigrationMySQL 8.0 to 8.4 Upgrade Guide: Breaking Changes and How to Check for Each
October 7, 2026Ready to get your open source under control?
Talk to an OSSeva engineer about CVE coverage, compliance, and migration support for your stack.