Redis vs Valkey in 2026: Licenses, Valkey 9.1 vs Redis 8.10, Which to Pick
I have answered the same question in three different Slack workspaces this year: "we are on Redis, should we be on Valkey?" Two years ago it was a licensing question. Now it is an engineering one, because Redis added an OSI-approved licence back, Valkey shipped two major versions with features Redis does not have, and the two projects have stopped being able to read each other's data files. This post covers Redis vs Valkey as it stands today: what changed in the licences, what Valkey 9.1 and Redis 8.10 actually contain, how the performance claims hold up, which managed services run which engine, and how I would choose. If you have already decided, the companion guide on how to migrate from Redis to Valkey has the commands.
What happened to the Redis license in 2024 and 2025?
The short version is three licence changes in fourteen months.
On 20 March 2024 Redis Inc. announced that, starting with Redis 7.4, the server would be dual-licensed under the Redis Source Available License v2 (RSALv2) and the Server Side Public License v1 (SSPLv1), replacing BSD 3-Clause. The same post says plainly that this means Redis "is no longer open source under the OSI definition". Older releases stayed BSD, and internal use (including hosting Redis for your own organisation) remained allowed. What the licences block is offering Redis as a competing service, which is why the cloud providers reacted first.
Eight days later, on 28 March 2024, the Linux Foundation launched Valkey, a BSD-licensed fork of Redis 7.2.4 backed by AWS, Google Cloud, Oracle, Ericsson and Snap Inc. Valkey 7.2.5 shipped on 16 April 2024 as a compatibility release.
Then on 1 May 2025, Redis CEO Rowan Trollope announced that Redis 8 would add the AGPLv3 as a third licensing option, with the Redis Stack modules (JSON, time series, probabilistic structures, the Query Engine) folded into the core and a new vector set type written by Salvatore Sanfilippo, who had rejoined the company in November 2024. The Redis 8.0.0 release notes list the licence as your choice of RSALv2, SSPLv1 or AGPLv3, and rename Redis Community Edition to Redis Open Source.
Is Redis open source again, and does AGPL matter to you?
Yes, by the OSI definition: Redis 8.0 and later can be used under the AGPLv3, which is an approved licence. Redis 7.4 is the odd one out, available only under RSALv2 or SSPLv1.
Whether AGPL matters depends on what you do with the server, not on whether you use it:
- Running Redis unmodified behind your application. AGPL's network clause applies to modified versions you let users interact with over a network. Most teams running a stock container image as a cache are not in that position. Many legal departments still ban AGPL outright, and that policy is the real constraint.
- Modifying the server or shipping it in a product. AGPL requires you to publish your modifications to users of the service. RSALv2 forbids offering it as a managed service at all. Valkey's BSD 3-Clause has neither condition.
- Building a hosted cache product. This is the case the 2024 change targeted, and the reason every hyperscaler now sells Valkey.
So licensing still matters, but only for a minority of teams.
Redis 8.10 vs Valkey 9.1: what each one ships in 2026
Both projects release often. As of 10 November 2026 the current stable lines are Valkey 9.1.3 and Redis 8.10.3, both published on 26 October 2026 as security releases fixing a heap overflow in cluster Pub/Sub message handling. Release candidates for Valkey 9.2 and Redis 8.12 are out.
| Valkey | Redis Open Source | Source | |
|---|---|---|---|
| Licence | BSD 3-Clause | RSALv2, SSPLv1 or AGPLv3 (8.0+) | Valkey repo, Redis 8.0 notes |
| Governance | Linux Foundation project | Redis Inc., CLA required for contributions | LF, Redis |
| Latest stable (10 Nov 2026) | 9.1.3 (26 Oct 2026) | 8.10.3 (26 Oct 2026) | Valkey releases, Redis releases |
| Patched lines in Oct 2026 | 9.1, 9.0, 8.1, 8.0, 7.2 | 8.10, 8.8, 8.6, 8.4, 8.2, 7.4, 7.2 | GitHub releases |
| Search and vectors | valkey-search module (vector, full text) | Query Engine and vector sets in core | ElastiCache versions, Redis 8.0 notes |
| JSON, Bloom | valkey-json, valkey-bloom modules | Built in | Redis 8.0 notes |
| Hash field expiry | 9.0 | 7.4 | Valkey 9 blog, Redis 7.4 notes |
| Numbered databases in cluster mode | 9.0 | No, database 0 only | Valkey 9 blog, Redis SELECT docs |
| Atomic slot migration | 9.0 | CLUSTER MIGRATION in 8.4 |
Valkey 9 blog, Redis 8.4 notes |
| On-disk RDB version | 11 (7.x, 8.x), 80 (9.x) | 11 (7.2), 12 (7.4 to 8.4), 15 (8.10) | src/rdb.h in each repo |
Valkey 9.0, released on 21 October 2025, was the release where the fork stopped being "Redis 7.2 with faster I/O". It added atomic slot migration, hash field expiration, numbered databases in cluster mode, DELIFEQ, polygon geo queries and un-deprecated 25 commands. The Valkey 9 announcement claims clusters of 2,000 nodes serving over a billion requests per second. Valkey 9.1, GA on 19 May 2026, added database-level ACLs, HGETDEL, MSETEX, CLUSTERSCAN, automatic TLS reload, and moved Lua into a module; AWS's version notes cite up to 20% less memory for strings under 128 bytes.
Redis went the other way, toward a bigger single binary. Redis 8.0 bundled the Stack modules. Redis 8.10, GA on 29 July 2026, added compact hashes that store shared field names once, a BACKUP command built on multi-part AOF, HIMPORT, multi-element list moves and more time series commands. The 8.12 release candidate merges compressed (roaring) bitmaps and per-member set expiry.
In practice: Redis 8 ships search, JSON and vectors in one binary; Valkey ships them as separate modules that managed services bundle for you.
Is Valkey faster than Redis?
Sometimes, by a margin that depends heavily on configuration. Both projects did serious I/O threading work. Valkey 8.0's release candidate post claimed up to 1.2 million queries per second on AWS r7g against a previous ceiling of 380K. Redis's AGPL announcement claimed over 30 performance improvements in Redis 8, "up to 87% faster commands and 2x throughput". Both compare against their own older versions, not each other.
The most-cited head-to-head is Momento's May 2025 benchmark on a single 8-vCPU Graviton4 c8g.2xlarge, Valkey 8.1.1 against Redis 8.0, with 1 KB values and a 3 million key space. Momento sells a Valkey-based service, so read it as a well-documented vendor test rather than a neutral one.
The interesting result is the first pair of bars. With default threading the two engines were within 2% of each other. The 37% peak gap needed six I/O threads, IRQs pinned to dedicated cores and CPU pinning for the server process. Most production caches are bound by network, payload size or client behaviour long before the server's event loop. If performance is the reason you are switching, run valkey-benchmark or memtier_benchmark against your own value sizes on your own instance types, with io-threads set the way you would run it in production.
Which cloud providers support Valkey, and what does it cost?
This is where the decision is often made for you.
AWS ElastiCache supports Valkey 7.2 through 9.1 and Redis OSS only up to 7.1, according to its engine versions page. ElastiCache offers no Redis 7.4 or 8 at all. Valkey is also cheaper: the pricing page lists Valkey serverless at 33% below other engines with a 100 MB minimum (against 1 GB for Redis OSS), and node-based Valkey at 20% lower. Serverless Valkey in us-east-1 is $0.084 per GB-hour and $0.0023 per million ECPUs. Redis OSS 4 and 5 left standard support on 31 January 2026 and are now in paid Extended Support; Redis OSS 6 follows on 31 January 2027. If you are on an old ElastiCache engine, you are already paying a premium to stay put. My AWS bill post covers how extended support charges sneak in.
Google Cloud Memorystore for Valkey supports 7.2, 8.0, 9.0 and 9.1, with 9.1 as the default. You can upgrade any instance to any newer version but cannot downgrade.
Azure went the other way. Azure Cache for Redis Basic, Standard and Premium retire on 30 September 2028, and the Enterprise tiers on 31 March 2027. Microsoft's replacement, Azure Managed Redis, runs Redis Enterprise software. There is no first-party managed Valkey on Azure as far as I could find.
Redis Cloud, Redis Inc.'s own service, is the other managed home for Redis 8 features.
Will my Redis clients and data work with Valkey?
The wire protocol is the same, so redis-py, Jedis, Lettuce, go-redis, ioredis and StackExchange.Redis connect to Valkey without code changes. AWS describes Valkey as designed as a drop-in replacement for Redis OSS 7. The Valkey project also maintains its own clients: Valkey GLIDE (v2.5.3, September 2026) supports Valkey 7.2 to 9.1 and Redis 6.2 to 7.2, but not Redis 8.
Two compatibility details catch people out.
First, Valkey reports itself as Redis 7.2.4 forever. The REDIS_VERSION constant in version.h is pinned at 7.2.4 with a comment that it "should never exceed 7.2.x", and the real version sits in a separate valkey_version field. Any tooling that gates features on redis_version will treat Valkey 9.1 as 7.2.
Second, the data files have split. Redis 7.2 and Valkey 7.x and 8.x all write RDB version 11. Redis 7.4 moved to RDB 12, and Redis 8.10 writes RDB 15. Valkey 9.0 jumped to version 80 with a new VALKEY magic string, deliberately leaving 12 to 79 as a reserved "foreign" range so the numbers never collide. The Valkey migration guide states that Redis CE 7.4 and later data files are not compatible with Valkey. That rules out snapshot copies and replication from Redis 7.4 or 8 straight into Valkey; you need a logical copy tool instead. It is the single most important fact for anyone planning a move, and I wrote the commands for it in the migration guide.
You can see which side of the split you are on in about ten seconds:
# Which engine and version is really running? (redis-cli 7.2+ or valkey-cli)
redis-cli -h my-cache INFO server | grep -E '^(redis_version|valkey_version|server_name):'
# Valkey 9.1.3 prints: redis_version:7.2.4 server_name:valkey valkey_version:9.1.3
# Redis 8.10.3 prints only: redis_version:8.10.3
# Which RDB format does it write? The first 9 bytes of a snapshot are the magic + version.
redis-cli -h my-cache CONFIG GET dir # find the snapshot directory
head -c 9 /var/lib/redis/dump.rdb; echo
# REDIS0011 -> Redis <= 7.2, Valkey 7.x/8.x (portable both ways)
# REDIS0012 to REDIS0015 -> Redis 7.4 to 8.10 (Valkey treats these as foreign)
# VALKEY080 -> Valkey 9.x (Redis cannot load it)
A local Redis 7.2.5 snapshot gave me REDIS0011; the other rows come from each project's src/rdb.h.
Modules are the other gap. Redis 8's JSON, search, time series and vector sets are not readable by Valkey, and RedisShake's compatibility matrix lists vector sets and Redis Stack modules as unsupported for migration. If you use those, plan for a re-index, not a copy.
Redis or Valkey: how to choose in 2026
This is the order I would ask the questions in.
- Which managed service are you on? On ElastiCache or Memorystore, Valkey is the only path to current versions, and on ElastiCache it is 20 to 33% cheaper. On Azure, you are moving to Azure Managed Redis whether you like it or not.
- Which Redis version are you running? At 7.2 or below, moving to Valkey is close to a minor upgrade: same RDB format, replication works. At 7.4 or 8.x, you are doing a data migration with a logical copy tool, and the case for moving needs to be stronger.
- Do you use Redis 8 features? If the Query Engine, JSON, vector sets or time series are load-bearing, Redis 8 is the simpler choice. Valkey has equivalents through modules, but the command sets are not identical.
- Does your organisation allow AGPL? If not, and you self-host, your choices are Redis 7.2 (old, BSD) or Valkey.
- Do you need a vendor contract? Redis Inc. sells support and Redis Enterprise. Valkey support comes from the clouds, Percona and others.
For self-hosted Kubernetes, note that the official Valkey Helm chart (0.12.1, appVersion 9.1.3) runs standalone or primary-replica, while the Valkey operator (v0.8.0) still carries a "not ready for production use" notice in its README. With Bitnami's charts no longer the default, that leaves a real gap for clustered Valkey on Kubernetes, and it is worth reading my notes on running stateful services on Kubernetes before you fill it with a StatefulSet you wrote yourself.
FAQ
Is Valkey a drop-in replacement for Redis?
For Redis OSS 7.2 and earlier, effectively yes: same protocol, same commands, same RDB format, and replication from Redis to Valkey works. For Redis 7.4 and 8.x it is a replacement for the API but not for the data files, so you must migrate with a logical copy tool such as RedisShake rather than a snapshot.
Is Redis free to use in 2026?
Yes. Redis 8 can be used under the AGPLv3, RSALv2 or SSPLv1, and all three allow internal production use at no cost. The restrictions apply to modifying and offering it as a service (AGPL, SSPL) or selling a competing managed offering (RSALv2).
Is Valkey faster than Redis 8?
In Momento's published single-node test, Valkey 8.1.1 delivered about 37% more peak SET throughput than Redis 8.0, but only after heavy I/O thread and CPU tuning; with default threading the two were within 2%. Benchmark your own workload before treating performance as a reason to switch.
Does AWS ElastiCache still support Redis?
ElastiCache supports Redis OSS up to version 7.1 and will not offer Redis 7.4 or 8. Redis OSS 4 and 5 are in paid Extended Support since February 2026, and version 6 enters it in February 2027. New features land only in the Valkey engine.
I would not move a healthy Redis 8 deployment that uses the Query Engine just to change the name on the binary. I would move anything on ElastiCache, Memorystore or self-hosted Redis 7.2 to Valkey 9.1 this quarter, starting with the caches that have the least state, because the price cut is real, the upgrade is replication-based and there is a tested rollback path if you stop at Valkey 7.2 first. Before any of it, I would run the two INFO and head -c 9 checks above across every instance, because in my experience nobody's inventory of which Redis versions they actually run is accurate.
Related: Should You Run Databases on Kubernetes in 2026?, Why Is My AWS Bill So High? and Self-Hosting vs SaaS in 2026.
Spot an error or something out of date? Email me and I will fix it and log it on the corrections page.
I'm Ajay Kumar — I build and operate PandaStack, an open-source Firecracker microVM cloud for AI agents, and write about the infrastructure and tooling around it.
Need this kind of infrastructure work? See what I do or email hello@ajayk.sh.
Related
Should You Run Databases on Kubernetes in 2026? 66% Do, RDS Costs 1.7x
Should you run databases on Kubernetes in 2026? Postgres operators compared (CloudNativePG 1.30, Zalando 2.0, Crunchy PGO 6, Percona 3.1), local NVMe vs network storage, Data on Kubernetes survey numbers, and RDS, Aurora and Cloud SQL priced against plain EC2 nodes.
13 minNov 10, 2026Is Ansible Still Relevant in 2026? ansible-core 2.22 vs Terraform
Is Ansible still relevant in 2026? What ansible-core 2.22 and Ansible 14 changed, how Ansible compares with Terraform, cloud-init and Kubernetes, where configuration management still wins, and what Event-Driven Ansible and Lightspeed actually do.
11 minNov 10, 2026Apache Kafka in 2026: Kafka 4.4, No ZooKeeper, Queues and Diskless
Apache Kafka 4.4 explained for 2026: KRaft-only clusters since 4.0, production-ready queues (KIP-932), tiered storage, the accepted but unshipped diskless KIP-1150, WarpStream vs AutoMQ vs Redpanda, and when you do not need Kafka at all.
11 min