In 2024, Redis Ltd. changed the license of Redis from the permissive BSD license to a dual source-available license (RSALv2/SSPLv1). In response, former Redis contributors and major cloud providers launched Valkey, a fork of Redis 7.2.4 under the BSD license, hosted by the Linux Foundation. Later, Redis 8 added the AGPLv3 as an additional option. Here’s what that means for you as someone running Redis on a server.

Timeline in short

  • Redis ≤ 7.2 — BSD-3-Clause.
  • Redis 7.4 — RSALv2 / SSPLv1 (source-available, not OSI open source).
  • Valkey 7.2.5+ — fork under BSD-3-Clause, Linux Foundation project, backed by AWS, Google Cloud, Oracle, Ericsson and others.
  • Redis 8 — adds AGPLv3 as a license option, plus features previously in Redis Stack modules (JSON, search, time series) in the core.

Does the license matter to you?

For most people running Redis or Valkey for their own applications, any of these licenses is fine. The restrictions mostly target companies offering Redis as a managed service. Organisations with policies requiring OSI-approved licenses (or avoiding AGPL) may prefer Valkey.

Distributions have reacted: several (Fedora, Arch, newer Debian/Ubuntu releases, Alpine) now package Valkey, and some provide a redis-compatible package or alias that installs Valkey.

Compatibility

Valkey is a drop-in replacement for Redis OSS 7.2:

  • Same protocol (RESP2/RESP3) — existing client libraries (redis-py, ioredis, phpredis, Predis, Jedis, go-redis) work unchanged.
  • Same commands, data types, persistence formats (RDB/AOF from Redis 7.2 load in Valkey), replication, Sentinel and Cluster.
  • Tools: valkey-cli, valkey-server, valkey-sentinel (many packages also provide redis-* compatibility names).

Divergence grows over time: features added to Redis after the fork (Redis 8’s integrated modules, new commands) aren’t in Valkey, and Valkey adds its own improvements (multi-threaded I/O enhancements, memory efficiency, cluster improvements). If you rely on Redis Stack modules (RediSearch, RedisJSON), check Valkey’s equivalent modules (valkey-search, valkey-json) or stay on Redis.

For typical uses — caching, sessions, queues (Sidekiq, Celery, BullMQ, Laravel), rate limiting, pub/sub — both work identically.

Install Valkey

Where your distribution packages it:

sudo apt install valkey          # Debian 13+, newer Ubuntu
sudo dnf install valkey          # Fedora, EPEL

Or with Docker:

docker run -d --name valkey -p 127.0.0.1:6379:6379 valkey/valkey:8

Configuration (/etc/valkey/valkey.conf) uses the same directives as Redis: bind, requirepass/ACLs, maxmemory, maxmemory-policy, appendonly. The security advice is the same: bind to localhost, require authentication, never expose it publicly. See installing and securing Redis.

Migrating from Redis to Valkey

For a cache, simply switch: stop Redis, start Valkey on the same port. The cache warms up again.

For persistent data:

  1. Make sure you’re on Redis 7.2 or earlier data formats (Valkey reads them). Data from Redis 7.4+/8 may use newer formats — migrate with replication or dump/restore tools instead.
  2. Take a snapshot: redis-cli BGSAVE, wait for LASTSAVE to change.
  3. Stop Redis, copy dump.rdb (and/or the AOF directory) to Valkey’s data directory with correct ownership.
  4. Start Valkey; verify with valkey-cli DBSIZE and spot-check keys.

Zero-downtime alternative: make Valkey a replica of the Redis server (REPLICAOF redis-host 6379), let it sync, point the application at Valkey, then REPLICAOF NO ONE.

Which should you choose?

Situation Choice
Your distribution ships Valkey Valkey — easiest, gets distro security updates
Need Redis 8 integrated search/JSON/time series Redis 8
Policy requires BSD/OSI license without AGPL Valkey
Existing setup works and license is fine Keep it; nothing forces a change

Related: Redis vs Memcached, Redis persistence and redis-cli commands.

  • Valkey
  • Redis
  • Open Source