In March 2024, the open-source community made a bold move: they forked Redis and created Valkey, a truly open-source alternative that preserves Redis' BSD-3-Clause license while adding new features and improvements.
If you're currently using Redis or evaluating in-memory databases, you need to understand what Valkey is, why it exists, and whether it's the right choice for your applications.
What is Valkey?
Valkey is a community-driven, open-source in-memory database forked from Redis 7.2.4. It's 100% Redis-compatible, meaning it's a drop-in replacement for Redis—your existing code, tools, and client libraries work without modification.
Key Facts About Valkey:
- Forked From: Redis 7.2.4 (March 2024)
- License: BSD-3-Clause (truly open source)
- Governance: Linux Foundation project
- Compatibility: 100% Redis protocol compatible
- Current Version: 8.0 (January 2025)
- Backed By: AWS, Google Cloud, Oracle, Alibaba Cloud, Ericsson
Why Was Valkey Created?
To understand Valkey, you need to understand what happened to Redis.
Redis' Licensing Change
In March 2024, Redis Labs changed Redis' license from BSD-3-Clause to a dual-license model:
- Redis Source Available License (RSALv2)
- Server Side Public License (SSPLv1)
This change meant Redis was no longer open source by the Open Source Initiative (OSI) definition.
Why This Mattered
The new licenses restricted:
- Cloud Providers: Can't offer Redis as a managed service without paying Redis Labs
- Commercial Use: Restrictions on how companies can use Redis in their products
- Community Contributions: Less incentive to contribute if you don't control the license
The Community Response: Valkey
Within days of the announcement, major tech companies came together to fork Redis and create Valkey:
"We are committed to the open-source community and ensuring Redis remains truly open source. Valkey will always be BSD-3-Clause licensed." — Valkey Announcement, Linux Foundation
Valkey vs Redis: What's the Difference?
Quick Comparison
| Feature | Valkey | Redis (2025) |
|---|---|---|
| License | BSD-3-Clause (Open Source) | RSALv2/SSPLv1 (Source Available) |
| Governance | Linux Foundation | Redis Labs (company) |
| Protocol Compatibility | 100% Redis compatible | N/A (original) |
| Current Version | 8.0 | 7.4 |
| Performance | Same baseline + improvements | Baseline |
| Community Contributions | Active & growing | Declining |
| Cloud Provider Support | AWS, GCP, Azure, etc. | Requires licensing from Redis Labs |
Feature Parity
Valkey maintains 100% compatibility with Redis commands:
# These work identically in Valkey and Redis
SET mykey "Hello"
GET mykey
HSET user:1000 name "John" email "john@example.com"
LPUSH mylist "item1"
ZADD leaderboard 100 "player1"
# All Redis data structures supported
Strings, Hashes, Lists, Sets, Sorted Sets
Bitmaps, HyperLogLogs, Streams, Geospatial
Valkey Improvements Over Redis
Valkey isn't just a fork—it's improving upon Redis:
1. Better Performance
- Memory Efficiency: 5-10% memory savings in 8.0
- Faster Replication: Improved sync performance
- Optimized Commands: Faster SCAN, KEYS, SMEMBERS
2. Enhanced Features
- Improved Clustering: Better slot migration
- Enhanced ACLs: More granular permissions
- Better Monitoring: Additional metrics and stats
3. Active Development
- Faster Releases: Community-driven development
- Community Contributions: Thousands of contributors
- Transparent Roadmap: Public decision-making
Valkey vs Dragonfly: Which Should You Choose?
While Valkey is a Redis fork, Dragonfly is a Redis-compatible rewrite. Here's how they compare:
| Feature | Valkey | Dragonfly |
|---|---|---|
| Architecture | Single-threaded (Redis model) | Multi-threaded |
| Performance (Single-core) | ~100K ops/sec | ~100K ops/sec |
| Performance (Multi-core) | ~100K ops/sec (limited) | ~2.5M ops/sec (scales) |
| Memory Efficiency | Standard | ~30% more efficient |
| Redis Compatibility | 100% | ~99% (some edge cases) |
| Maturity | Very mature (Redis codebase) | Newer (2022) |
| Best For | Drop-in Redis replacement | High-throughput workloads |
When to Choose Each
Choose Valkey if:
- ✅ You want a true Redis replacement with zero code changes
- ✅ You need 100% Redis compatibility
- ✅ You value proven stability (Redis codebase)
- ✅ You prefer open-source governance
- ✅ Standard Redis performance is sufficient
Choose Dragonfly if:
- ✅ You need maximum throughput (millions of ops/sec)
- ✅ You have multi-core servers to utilize
- ✅ Memory efficiency is critical
- ✅ You can tolerate minor compatibility differences
- ✅ Performance is your #1 priority
Migrating from Redis to Valkey
The good news: migrating is trivial. Valkey is a drop-in replacement.
Step 1: Install Valkey
# Ubuntu/Debian
wget https://github.com/valkey-io/valkey/releases/download/8.0.0/valkey-8.0.0.tar.gz
tar xzf valkey-8.0.0.tar.gz
cd valkey-8.0.0
make
sudo make install
# Or use Docker
docker pull valkey/valkey:8.0
Step 2: Copy Your Redis Config
# Your existing redis.conf works as-is
cp /etc/redis/redis.conf /etc/valkey/valkey.conf
# Update paths if needed
sed -i 's/redis/valkey/g' /etc/valkey/valkey.conf
Step 3: Start Valkey
# Start Valkey with your existing config
valkey-server /etc/valkey/valkey.conf
# Or with Docker
docker run -d
--name valkey
-p 6379:6379
-v /etc/valkey/valkey.conf:/etc/valkey/valkey.conf
valkey/valkey:8.0
valkey-server /etc/valkey/valkey.conf
Step 4: No Application Changes Needed
# Your existing code works without modification
# Python
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set('key', 'value')
# Node.js
const redis = require('redis');
const client = redis.createClient();
await client.set('key', 'value');
# PHP
$redis = new Redis();
$redis->connect('localhost', 6379);
$redis->set('key', 'value');
# All Redis clients work with Valkey!
Step 5: Migrate Data (Zero Downtime)
# Option 1: Use replication
# Point Valkey to Redis as primary
replicaof redis-host 6379
# Wait for sync to complete
info replication
# Promote Valkey to primary
replicaof no one
# Switch application to Valkey
# Update connection string in your app
# Option 2: Use RDB backup
redis-cli SAVE
cp /var/lib/redis/dump.rdb /var/lib/valkey/dump.rdb
valkey-server /etc/valkey/valkey.conf
Valkey in Production: Real-World Examples
Example 1: Session Storage (Laravel)
# .env (no changes needed!)
REDIS_HOST=valkey.example.com
REDIS_PASSWORD=your_password
REDIS_PORT=6379
# config/database.php (works as-is)
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
],
Example 2: Cache Layer (Node.js)
// cache.js
const redis = require('redis');
const client = redis.createClient({
url: 'redis://valkey.example.com:6379'
});
await client.connect();
// Caching function
async function getUser(userId) {
const cached = await client.get(`user:${userId}`);
if (cached) return JSON.parse(cached);
const user = await db.users.findById(userId);
await client.setEx(
`user:${userId}`,
3600, // 1 hour TTL
JSON.stringify(user)
);
return user;
}
Example 3: Rate Limiting (API)
# Python FastAPI with Valkey
from redis import Redis
from fastapi import FastAPI, Request, HTTPException
redis = Redis(host='valkey.example.com', port=6379)
app = FastAPI()
@app.middleware("http")
async def rate_limit(request: Request, call_next):
client_ip = request.client.host
key = f"rate_limit:{client_ip}"
requests = redis.incr(key)
if requests == 1:
redis.expire(key, 60) # 1 minute window
if requests > 100:
raise HTTPException(429, "Rate limit exceeded")
return await call_next(request)
DanubeData Managed Valkey
At DanubeData, we offer fully-managed Valkey instances alongside Redis and Dragonfly. All are hosted in German data centers with:
- ✅ Latest Valkey 8.0 with automatic updates
- ✅ High Availability: Automatic failover with replica promotion
- ✅ Daily Backups: Automated snapshots with point-in-time recovery
- ✅ Monitoring: Real-time metrics, alerts, and performance insights
- ✅ SSL/TLS: Encrypted connections for security
- ✅ Scaling: Vertical scaling with zero downtime
- ✅ 99.9% Uptime SLA
Valkey Pricing
| Plan | Memory | Storage | Price |
|---|---|---|---|
| Cache Micro | 256 MB | 2 GB | €9.99/mo |
| Cache Small | 1 GB | 4 GB | €19.99/mo |
| Cache Medium | 3 GB | 16 GB | €49.99/mo |
| Cache Large | 6 GB | 32 GB | €89.99/mo |
All plans include automated backups, monitoring, SSL/TLS, and high availability.
Common Questions About Valkey
Is Valkey production-ready?
Yes. Valkey is built on the proven Redis 7.2 codebase with millions of hours of production testing. Major cloud providers are already offering Valkey as a managed service.
Will my Redis clients work with Valkey?
Yes. Valkey implements the Redis protocol exactly. All Redis clients (redis-py, node-redis, predis, etc.) work without modification.
Can I use Redis modules with Valkey?
Most yes, some no. Open-source Redis modules work. Proprietary Redis Stack modules (RedisJSON, etc.) don't work because they're not open source.
Should I switch from Redis to Valkey?
For new projects: Yes. Valkey ensures you're using truly open-source software with community governance.
For existing projects: Consider switching to avoid future licensing issues and support open source.
What about Redis 7.4+ features?
Valkey is ahead. Valkey 8.0 includes features beyond Redis 7.4, plus community contributions that Redis Labs doesn't accept.
Is Valkey faster than Redis?
Same baseline, some improvements. Valkey 8.0 includes memory and performance optimizations, making it 5-10% more efficient in some workloads.
The Future of Valkey
Valkey has massive momentum:
- Backing: AWS, Google Cloud, Oracle, Alibaba Cloud committed
- Adoption: Thousands of companies migrating
- Development: Active community with monthly releases
- Innovation: New features not in Redis
The open-source community has spoken: Valkey is the future of Redis-compatible databases.
Conclusion: Should You Use Valkey?
Use Valkey if:
- ✅ You want a true open-source Redis alternative
- ✅ You value community governance over corporate control
- ✅ You want 100% Redis compatibility
- ✅ You're starting a new project
- ✅ You want to avoid future licensing issues
Stick with Redis if:
- ⚠️ You need Redis Stack modules (RedisJSON, etc.)
- ⚠️ You have specific Redis Enterprise features
- ⚠️ Migration effort outweighs benefits (for now)
Try Managed Valkey on DanubeData
Want to try Valkey without managing infrastructure? Create a managed Valkey instance in under 60 seconds:
👉 Create Managed Valkey Instance - Starting at €9.99/month
All plans include automated backups, monitoring, high availability, and 99.9% uptime SLA. Try risk-free with hourly billing—cancel anytime.
Or compare with our other cache options:
- Redis 7.2 - Battle-tested classic
- Valkey 8.0 - Open-source Redis fork
- Dragonfly 1.15 - Multi-threaded powerhouse
Questions about Valkey vs Redis vs Dragonfly? Contact our team for personalized guidance.