In March 2024, Redis Ltd. changed the license for Redis from the permissive BSD license to the Server Side Public License (SSPL) and Redis Source Available License (RSAL), effectively ending Redis's status as true open-source software. Within weeks, a coalition of cloud providers including AWS, Google Cloud, and Alibaba Cloud forked Redis 7.2 and donated the project to the Linux Foundation under the name Valkey. If you run Redis in production today, this change affects your licensing exposure, your upgrade path, and — depending on your workload — potentially your performance ceiling.
This guide covers what the license change actually means, how Valkey differs from Redis today, what a migration looks like in practice, and where the managed cloud offerings stand as of early 2026.
- Redis moved from BSD to SSPL in March 2024 — no longer OSI-approved open source.
- Valkey is the community fork of Redis 7.2, maintained under the Linux Foundation with backing from AWS, Google Cloud, Alibaba, Oracle, and others.
- Valkey is a drop-in replacement for Redis 7.2 at the protocol and API level — existing clients work without changes.
- Valkey 7.2 and 8.x ship multi-threaded I/O improvements that deliver measurably higher throughput on multi-core instances.
- AWS ElastiCache and MemoryDB now offer Valkey as a first-class engine option alongside (or instead of) Redis.
- Migration is typically a rename in your connection string, but there are operational gotchas to know before you cut over.
What Happened with Redis Licensing
Redis was governed by the three-clause BSD license from its creation in 2009 through version 7.2 (released September 2023). That license allowed anyone to use, modify, and distribute Redis freely — including cloud providers who sold managed Redis services without contributing code back upstream.
On March 20, 2024, Redis Ltd. announced that all Redis releases from version 7.4 onward would be dual-licensed under the Server Side Public License (SSPL) v1 and the Redis Source Available License (RSAL) v2. Neither license is approved by the Open Source Initiative (OSI). The SSPL, originally written by MongoDB, requires that any service offering the software as a network service must open-source the entire service stack — a condition that cloud providers cannot reasonably satisfy and that many legal teams treat as commercially prohibitive.
If your organisation has a policy against SSPL-licensed software (common in enterprises and government contractors), running Redis 7.4+ is a licensing risk. Redis 7.2.x remains BSD-licensed, but it will not receive security patches from Redis Ltd. indefinitely. Valkey 7.2.x is the maintained, BSD-licensed continuation of that codebase.
The practical upshot: teams that need a genuinely open-source, production-grade, in-memory data store now have a clear migration target in Valkey, and a growing set of managed offerings to back it.
What Is Valkey
Valkey is an open-source, high-performance key-value store forked from Redis 7.2.4 and donated to the Linux Foundation in March 2024. The founding contributors include AWS, Google Cloud, Alibaba Cloud, Oracle, Ericsson, and several independent maintainers. The project moved fast: Valkey 7.2.5 shipped within weeks of the fork announcement, and Valkey 8.0 (a major feature release) arrived in September 2024.
Key governance facts:
- License: BSD 3-Clause (same as Redis 7.2 and earlier)
- Governance: Linux Foundation project with a Technical Steering Committee (TSC)
- Versioning: Valkey maintains the 7.2.x branch for stability and advances the 8.x series for new features
- Repository:
github.com/valkey-io/valkey
Valkey 8.0 introduced the most significant architectural change: improved multi-threaded I/O. Redis has long been single-threaded for command execution (with background threads for persistence and replication). Valkey 8.0 extends the threading model to allow multiple I/O threads to handle network reads and writes concurrently, which reduces latency under high connection counts and increases aggregate throughput on machines with 4+ cores.
API and Protocol Compatibility
Valkey is fully compatible with the Redis Serialization Protocol (RESP2 and RESP3) and implements the complete Redis 7.2 command set. This means:
- All Redis clients work with Valkey without modification. This includes
redis-py,ioredis,Jedis,Lettuce,go-redis,StackExchange.Redis, and every other mainstream client library. The clients speak RESP; Valkey speaks RESP. - RDB persistence files from Redis 7.2 can be loaded by Valkey and vice versa.
- AOF (Append-Only File) format is compatible across the two at the 7.2 baseline.
- Cluster topology, replication, and Sentinel configuration formats are unchanged.
If your Redis client package is named redis in Python, Node, or Go, you do not need to switch to a valkey-branded package. The Valkey project also maintains official client libraries (valkey-py, iovalkey, valkey-go) that track Valkey-specific features like new commands introduced after the 7.2 fork point, but they are optional for teams migrating existing workloads.
The one compatibility boundary to be aware of: Modules. Redis modules compiled against the Redis module API may need recompilation or minor adjustments for Valkey. Most popular modules (RedisJSON, RediSearch, RedisBloom) have Valkey-compatible builds or are being ported by the community. Check the Valkey module compatibility matrix before migrating if you depend on modules.
Migration Steps
For the majority of deployments that use Redis as a cache or session store without modules, migration is straightforward.
Self-Managed Migration (Standalone or Sentinel)
- Install Valkey on the target server. Packages are available for Debian, Ubuntu, RHEL, and Alpine, and official Docker images are published to
docker.io/valkey/valkey. - Copy your
redis.conftovalkey.conf. Nearly all directives are identical. Valkey will warn on startup about any unrecognised directives. - Take an RDB snapshot on the source Redis instance (
BGSAVE), then transfer thedump.rdbto the Valkey data directory. - Start Valkey and verify it loads the RDB cleanly. Check
INFO persistenceforrdb_last_bgsave_status:ok. - Update your application connection string. Change the host/port to the Valkey instance. No other changes are required.
- Monitor for the first 24 hours: check hit rate, latency percentiles, and replication lag if applicable.
If you use WAIT commands for synchronous replication guarantees, validate behaviour in your Valkey cluster. The semantics are preserved but timing characteristics may differ slightly under the new I/O threading model in Valkey 8.x.
Self-Managed Migration (Cluster Mode)
Cluster migrations require a rolling replacement. The recommended approach is to use CLUSTER MEET to introduce Valkey nodes into an existing Redis cluster, then CLUSTER FAILOVER each shard one at a time. Redis 7.2 and Valkey 7.2 nodes can participate in the same cluster during the transition window because the cluster bus protocol is identical.
# On each Valkey node being introduced to the cluster
valkey-cli -h -p 6379 CLUSTER MEET 6379
# Verify cluster sees the new node
valkey-cli -h CLUSTER NODES
# Trigger a failover on a replica that has been promoted to Valkey
valkey-cli -h -p 6379 CLUSTER FAILOVER Client Library Configuration
No client changes are required for basic compatibility. If you want to use Valkey-specific features introduced after 7.2, install the official Valkey client for your language:
# Python
pip install valkey
# Node.js
npm install iovalkey
# Go
go get github.com/valkey-io/valkey-goThese clients are wire-compatible with Redis 7.2 as well, making them safe to adopt before the migration completes.
Performance
Benchmarks published by the Valkey project and independently by AWS show meaningful throughput gains in Valkey 8.x versus Redis 7.2 on multi-core instances, primarily because of the improved I/O threading.
Representative results from AWS internal benchmarks (r7g.2xlarge, 8 vCPUs, 100k connections, mixed GET/SET workload):
- Redis 7.2: ~450,000 ops/sec
- Valkey 7.2: ~455,000 ops/sec (comparable — same codebase)
- Valkey 8.0 (2 I/O threads): ~680,000 ops/sec
- Valkey 8.0 (4 I/O threads): ~850,000 ops/sec
The multi-threading gains are most pronounced at high connection counts (10k+) and on instances with 4 or more vCPUs. Low-traffic single-threaded workloads will see negligible difference between Redis 7.2 and Valkey 8.x. Benchmark your specific workload before sizing decisions.
Valkey's I/O thread count is controlled by two configuration directives:
# valkey.conf
io-threads 4
io-threads-do-reads yesA general recommendation: set io-threads to half the number of available vCPUs, and always benchmark before and after enabling io-threads-do-reads, as it can occasionally increase latency variance on memory-bound workloads.
Managed Options
The major cloud providers have moved quickly to offer Valkey as a managed service.
AWS ElastiCache for Valkey
AWS announced ElastiCache support for Valkey in August 2024, with general availability of Valkey 7.2 and 8.0 engine versions. Existing ElastiCache Redis clusters can be migrated to Valkey in-place using a blue/green deployment — no data export required. ElastiCache for Valkey retains the same parameter groups, security groups, and VPC integration as the Redis engine.
AWS MemoryDB for Valkey
MemoryDB (AWS's durable, Redis-compatible service with multi-AZ transactional logs) added Valkey engine support in late 2024. MemoryDB for Valkey is the appropriate choice when you need Redis-level APIs with durable storage guarantees — it persists every write to a multi-AZ transaction log before acknowledging the client.
Other Providers
Google Cloud Memorystore added Valkey support in 2024. Aiven, Upstash, and several other DBaaS platforms have followed. For self-hosted deployments, Bitnami Helm charts and the official Valkey Docker image are the fastest path to a production-ready cluster on Kubernetes.
Comparison: Redis vs Valkey vs KeyDB vs Garnet
| Feature | Redis 7.4+ | Valkey 8.x | KeyDB | Garnet (Microsoft) |
|---|---|---|---|---|
| License | SSPL / RSAL | BSD 3-Clause | BSD 3-Clause | MIT |
| Redis API Compatibility | Full | Full (7.2 baseline) | High (7.0 era) | High (partial) |
| Multi-threading | Partial (I/O) | Yes (I/O threads) | Yes (full multi-master) | Yes (.NET thread pool) |
| Linux Foundation governance | No | Yes | No (Snap Inc.) | No (Microsoft) |
| Cluster support | Yes | Yes | Yes (multi-master) | Yes |
| Managed cloud offerings | Redis Cloud, ElastiCache | ElastiCache, MemoryDB, Memorystore | Limited | None (self-hosted only) |
| Module ecosystem | Mature | Growing (7.2 compat) | Partial | Early stage |
| Production readiness | High | High | Medium | Early |
KeyDB (acquired by Snap Inc. in 2022) offers true multi-master replication and has been multi-threaded since its inception, but its development velocity has slowed and its governance is less transparent than Valkey's Linux Foundation model. Garnet is Microsoft Research's reimplementation of the Redis protocol in C#/.NET, targeting Windows Server and Azure scenarios; it is not a Redis fork and its compatibility surface is narrower. For most teams migrating from Redis, Valkey is the straightforward choice.
Garnet is not a drop-in replacement for production Redis workloads today. It lacks RDB/AOF persistence compatibility and does not support the full Redis command set. Evaluate it only if you are on Azure and have a specific use case aligned with its design goals.
- Redis's SSPL license change in March 2024 ended its open-source status. Redis 7.4+ is not OSI-approved and carries licensing risk for many organisations.
- Valkey is the maintained, BSD-licensed fork of Redis 7.2, backed by AWS, Google, Alibaba, and the Linux Foundation. It is the community's recommended migration target.
- Valkey is wire-compatible with Redis at the RESP protocol level. Existing clients, RDB snapshots, and configuration files transfer with minimal changes.
- Valkey 8.x delivers 40-90% higher throughput on multi-core instances compared to Redis 7.2, driven by improved I/O threading.
- AWS offers both ElastiCache for Valkey and MemoryDB for Valkey, with in-place migration paths from existing Redis clusters.
- For most teams, the migration path is: install Valkey, copy your conf, transfer your RDB, update your connection string. That is often the entire migration.
- If you use Redis modules, audit compatibility before migrating — most popular modules have Valkey builds, but not all.
How JusDB Can Help
Evaluating the right in-memory data store for your production workload — whether that is self-managed Valkey, AWS MemoryDB for Valkey, or a different architecture — involves tradeoffs across performance, durability, cost, and operational overhead. JusDB covers the managed database landscape in depth, from configuration tuning guides to architecture decision frameworks for teams choosing between caching layers and persistent stores.
Browse the Valkey database page for a full breakdown of Valkey's feature set, a comparison of managed providers, and links to official documentation. If you are evaluating multiple databases for a new project, the JusDB comparison tool lets you put Valkey, Redis, KeyDB, and Garnet side by side across the dimensions that matter for your workload.