NoSQL Databases

Valkey: The Open-Source Redis Alternative After the License Change

Migrate from Redis to Valkey — compatibility, performance benchmarks, and what changes for operators

JusDB Team
May 7, 2024
10 min read
179 views

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.

TL;DR
  • 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.

Warning

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.
Tip

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)

  1. 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.
  2. Copy your redis.conf to valkey.conf. Nearly all directives are identical. Valkey will warn on startup about any unrecognised directives.
  3. Take an RDB snapshot on the source Redis instance (BGSAVE), then transfer the dump.rdb to the Valkey data directory.
  4. Start Valkey and verify it loads the RDB cleanly. Check INFO persistence for rdb_last_bgsave_status:ok.
  5. Update your application connection string. Change the host/port to the Valkey instance. No other changes are required.
  6. Monitor for the first 24 hours: check hit rate, latency percentiles, and replication lag if applicable.
Warning

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.

text
# 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:

text
# Python
pip install valkey

# Node.js
npm install iovalkey

# Go
go get github.com/valkey-io/valkey-go

These 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
Tip

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:

text
# valkey.conf
io-threads 4
io-threads-do-reads yes

A 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.

Warning

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.

Key Takeaways
  • 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.

Share this article