惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Cloudbric
Cloudbric
C
CERT Recently Published Vulnerability Notes
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
C
Cisco Blogs
T
Tenable Blog
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
I
Intezer
AWS News Blog
AWS News Blog
IT之家
IT之家
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 【当耐特】
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
S
SegmentFault 最新的问题
博客园 - Franky
人人都是产品经理
人人都是产品经理
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Hacker News: Front Page
Latest news
Latest news
Scott Helme
Scott Helme
腾讯CDC
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
S
Securelist
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
Project Zero
Project Zero
Google DeepMind News
Google DeepMind News
P
Palo Alto Networks Blog
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 最新话题
S
Schneier on Security
NISL@THU
NISL@THU
Jina AI
Jina AI
M
MIT News - Artificial intelligence

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Valkey vs Redis: API Protocol, Data Format & Compatibility — The Technical Deep-Dive
Deploynix · 2026-06-17 · via DEV Community

When Redis changed its license on March 20, 2024, it triggered one of the fastest open-source forks in recent memory. Eight days later, on March 28, 2024, the Linux Foundation announced Valkey — a community fork built from the last BSD-licensed Redis release, version 7.2.4 (Valkey migration docs). Two years on, the practical question for engineers isn't political. It's technical: how compatible are these two systems really, at the wire, at the disk, and at the command level?

This deep-dive answers that. We'll look at the RESP protocol both projects speak, the RDB and AOF on-disk formats they read and write, the exact point where their command sets and file formats begin to diverge, and what the performance gap actually looks like once you anchor it to real hardware.

Key TakeawaysValkey forked from Redis OSS 7.2.4 and speaks an identical RESP2/RESP3 wire protocol — existing Redis clients connect unchanged (Valkey protocol spec, 2025).RDB and AOF files are fully interchangeable at the Redis 7.2 baseline, but RDB files written by Redis CE 7.4+ will not load into Valkey — the central forward-compatibility risk (Valkey, 2025).Valkey 8.0 reached roughly 1.2M requests/sec on AWS hardware — a ~230% jump over the 7.2 baseline on the same instance (Valkey, Sept 2024).Redis 8 (May 2025) folded the former Stack modules into core under a tri-license; Valkey keeps equivalents as separate BSD modules.

Why did Valkey fork from Redis in the first place?

In March 2024, Redis Ltd. relicensed Redis from the permissive BSD-3-Clause to a dual source-available model — RSALv2 and SSPLv1 — starting with the 7.4 release (Percona, March 20, 2024). Source-available is not open source: the SSPL in particular restricts offering the software as a managed service, which directly affected cloud providers and distributions.

The response was immediate. Within a week, AWS, Google Cloud, Oracle, and others rallied behind a Linux Foundation fork of the last BSD commit. That fork became Valkey, forked from Redis OSS 7.2.4 (Valkey migration docs). Major Linux distributions that ship default packages — Fedora, Debian, Ubuntu — moved toward Valkey because they cannot ship source-available software in their main repositories.

The story didn't end there. In November 2024, Redis creator Salvatore Sanfilippo (antirez) rejoined the company, and on May 1, 2025, Redis added AGPLv3 as a third license option starting with Redis 8 (Redis blog, May 1, 2025). Redis is once again available under a true open-source license — but by then Valkey had its own momentum, governance, and release cadence.

As of mid-2026, both projects are healthy and shipping. Valkey's current line is 9.1.x (9.1.0 landed May 2026) with an 8.1.x maintenance branch, while Redis is on its 8.x line (endoflife.date).

Milestone

Date

What changed

Redis relicense

Mar 20, 2024

BSD-3 → RSALv2 + SSPLv1 (from 7.4)

Valkey fork

Mar 28, 2024

Forked from Redis 7.2.4 under the Linux Foundation

antirez returns

Nov 2024

Redis creator rejoins Redis Ltd.

Redis 8 + AGPLv3

May 1, 2025

Tri-license: RSALv2 / SSPLv1 / AGPLv3

Are Valkey and Redis API-compatible at the protocol level?

Yes — at the wire-protocol level they are identical. Both Valkey and Redis speak the REdis Serialization Protocol (RESP), supporting both RESP2 and the newer RESP3 introduced in Redis 6 (Valkey protocol spec). Because Valkey began as a literal fork of the Redis 7.2.4 source tree, its protocol handler is the same code. A client has no way to tell, at the byte level, whether it is talking to one or the other during a standard handshake and command exchange.

This is the single most important compatibility fact for most teams. Your existing client library — redis-py, ioredis, Jedis, Lettuce, go-redis, StackExchange.Redis — connects to a Valkey server with no code change. The protocol negotiation, pipelining, pub/sub framing, and cluster redirection messages (MOVED, ASK) all behave the same.

Consider a raw RESP exchange. A SET command followed by GET looks like this on the wire, and the framing is byte-for-byte the same on both servers:

C: *3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\nbar\r\n
S: +OK\r\n

C: *2\r\n$3\r\nGET\r\n$3\r\nfoo\r\n
S: $3\r\nbar\r\n

RESP3 adds typed replies — maps, sets, doubles, big numbers, and push messages for client-side caching. Both projects negotiate RESP3 through the HELLO 3 command identically. So whether you use HELLO to upgrade the connection or stay on RESP2, the behavior is consistent across both servers.

Because Valkey is a source-level fork of Redis 7.2.4, it inherits the exact RESP2/RESP3 implementation. No client library, proxy, or monitoring agent that speaks the Redis protocol needs modification to work against Valkey — the wire format is unchanged (Valkey, 2025).

Where do the command sets actually diverge?

Divergence is not at the protocol layer — it's at the command-set layer, and it grows with each release past the 7.2.4 fork point. Both projects keep adding commands independently, so command parity is a per-version question, not a yes/no answer. The protocol that carries the commands stays identical; the available verbs do not.

On the Redis side, Redis 7.4 introduced Hash Field Expiration — the HEXPIRE, HPEXPIRE, HEXPIREAT, and HTTL family — which lets you set TTLs on individual hash fields rather than the whole key. Valkey added equivalent functionality later, with hash-field expiration landing in the Valkey 9.0 cycle. The behavior converges, but the timing and edge-case semantics can differ, so test against your target version.

Valkey has shipped its own operational additions too. Valkey 8.1 introduced SET ... IFEQ, a conditional update that only writes if the current value matches an expected one — useful for optimistic concurrency without a full Lua script (Valkey, April 2025). The same release added COMMANDLOG, extending the older slowlog concept to track large requests and replies, not just slow ones.

Capability

Redis

Valkey

RESP2 / RESP3

Yes

Yes (identical)

Hash field expiration (HEXPIRE family)

Since 7.4

Since 9.0

Conditional SET ... IFEQ

Not native

Since 8.1

COMMANDLOG

No

Since 8.1

Vector sets

Since 8 (antirez)

Via valkey-search module

The practical takeaway: if your application sticks to the core data-type commands that existed at 7.2.4 — strings, hashes, lists, sets, sorted sets, streams, pub/sub, transactions, scripting — you have near-total portability in both directions. The moment you adopt a command added after the fork, verify it exists and behaves the same on the other project at the specific version you target.

Are RDB and AOF data formats compatible between Valkey and Redis?

At the Redis 7.2 baseline, completely. Valkey reads and writes RDB snapshot files and AOF (append-only file) logs that are compatible with Redis OSS 7.2 — the RDB version 11 format (Valkey migration docs). This is what makes migration so painless for teams still on Redis 7.2 or earlier: you stop Redis, point Valkey at the same dump.rdb or AOF directory, and start it. The data loads natively.

The same compatibility underpins replication-based migration. Because Valkey speaks the Redis replication protocol and understands the Redis 7.2 RDB stream, you can configure a Valkey instance as a replica of a Redis 7.2 primary, let it sync, then promote it — a near-zero-downtime cutover.

But there is a hard edge, and it's the most important caveat in this entire comparison. RDB files produced by Redis CE 7.4 and later are not compatible with Valkey (Valkey migration docs). After the 7.2.4 fork, Redis evolved its RDB format to support new in-core data types — and those newer RDB files will not load into a Valkey server. The formats have diverged.

RDB interoperability is anchored to the 7.2 fork point, not to "Redis" in general. Valkey loads RDB and AOF files from Redis OSS 7.2, but Redis CE 7.4+ RDB files will not load into Valkey because both projects extended the format independently after the split (Valkey, 2025).

Two consequences follow. First, if you're on Redis 7.4 or 8, a file-level migration to Valkey is no longer a drop-in copy — you need a logical migration path (replication from a compatible version, or a tool that reads keys over the wire and rewrites them). Second, treat the reverse direction with caution: loading Valkey-written files into Redis is not officially documented as supported, so don't assume bidirectional file interop. Plan migrations as one-directional from a known-compatible baseline.

What this means for your migration plan

If you're on Redis ≤ 7.2: file copy or replica-promotion both work cleanly. If you're on Redis 7.4+ or Redis 8: use live replication where the source version allows it, or a key-by-key migration tool that operates at the command level rather than the file level. Always validate with a representative dataset before cutover, and snapshot both sides so you can roll back.

How does Valkey 8.x performance compare to Redis?

This is where the fork stopped being a copy and started pulling ahead on its own engineering. Valkey 8.0 delivered roughly 1.2M requests per second on AWS hardware — a separate published test measured a jump from about 360K to 1.19M RPS, a ~230% gain, on a c7g.16xlarge instance with 8 I/O threads (Valkey, Sept 2024). That number is real, but it is hardware-specific: it reflects a high-core-count ARM instance with multiple I/O threads and a particular payload. Don't quote it as a universal figure.

Three architectural changes drove the Valkey 8.0 leap (Valkey 8.0 RC1, Aug 2024):

  • Asynchronous I/O multithreading — offloads socket reads, writes, and command parsing (including epoll_wait handling) to I/O threads, freeing the main thread for command execution.
  • Per-slot dictionaries — in cluster mode, each hash slot gets its own dictionary instead of one shared linked structure, cutting roughly 16 bytes per key-value pair and improving cache locality.
  • Dual-channel replication — streams the RDB snapshot and the replication backlog in parallel over two channels, reducing full-sync time by up to 50%.

Valkey 8.1 (April 2, 2025) pushed efficiency further: memory dropped by about 20 bytes per key-value pair without a TTL and 30 bytes with one, TLS connection-accept throughput rose roughly 300%, SET and GET over TLS improved ~10% and ~22%, and BITCOUNT gained an AVX2-accelerated path measured at +514% (Valkey 8.1 GA). Independent benchmarking corroborates the throughput claims — Momento measured Valkey 8.1.1 at roughly 1M SET RPS on a c8g.2xlarge with sub-millisecond p99 latency.

Metric (c7g.16xlarge, 8 I/O threads)

Valkey 7.2 baseline

Valkey 8.0

Throughput (RPS)

~360K

~1.19M (+230%)

Memory per KV (cluster)

baseline

−16 bytes

Full-sync time

baseline

up to −50%

Redis 8 is no slouch — it shipped its own performance work and the bundled query engine — but the multithreaded I/O path and per-slot memory model give Valkey a clear, independently verified edge on high-core-count hardware. For latency-sensitive, high-throughput workloads, that gap is worth benchmarking on your own instance types.

How do the module and ecosystem stories differ?

This is the sharpest architectural divergence. Redis 8 folded the former Redis Stack modules directly into the core server: native JSON, time series, five probabilistic structures (Bloom, Cuckoo, Count-Min Sketch, Top-K, t-digest), vector sets, and the Redis Query Engine (the former RediSearch) — all shipping in-core under the tri-license (Redis, 2025).

Valkey took the opposite path: it keeps the core lean and ships equivalent capabilities as separate, BSD-licensed modules in the Valkey Bundle — valkey-search (vector and secondary indexing), valkey-json, valkey-bloom, and valkey-ldap, with modules reaching GA through the 8.1 and 9.0 cycles. One philosophy bundles everything into a single binary; the other keeps a minimal core you extend deliberately.

For client compatibility, this distinction mostly doesn't matter — standard RESP clients work against both servers because the protocol is shared. Where it matters is module-specific clients and query syntax: if you depend on RediSearch query features or RedisJSON path semantics, validate that the corresponding Valkey module matches the behavior you rely on, since they're now independently maintained codebases.

Which platforms have adopted Valkey?

Adoption moved fast, led by the cloud providers most affected by the license change. AWS added Valkey to both ElastiCache and MemoryDB in October 2024, with a zero-downtime in-place upgrade path from Redis 7.2 — and priced it below the Redis-compatible option (AWS, Oct 2024). Google Cloud added Valkey to Memorystore, and Oracle ships it on OCI.

The community numbers reflect that backing. By its first anniversary, Valkey had passed 100 million+ Docker pulls and drawn 150+ contributors from 50+ organizations including Google, Oracle, AWS, Ericsson, ByteDance, Aiven, and Percona (AWS, 2025). On the distribution side, Fedora, Debian, and Ubuntu moved their default in-memory data store package to Valkey, which means a large share of new Linux deployments now get Valkey by default rather than Redis.

For teams running their own infrastructure, the deployment story for Valkey and Redis is effectively identical — same config file format, same ports, same operational tooling. If you're standing up either on managed servers, a platform that provisions and manages your data store removes most of the day-two operational burden regardless of which engine you pick.

Should you migrate from Redis to Valkey?

The decision usually comes down to three factors: licensing, version, and feature dependency. If you need a permissive open-source license — for distribution, for compliance, or to avoid the source-available restrictions — Valkey (BSD-3) or Redis 8 under AGPLv3 both qualify, where the older RSALv2/SSPLv1-only releases do not.

If you're on Redis 7.2 or earlier and want the performance gains, Valkey 8.x is a low-risk upgrade: the wire protocol is identical, your clients don't change, and the RDB/AOF files load natively. If you depend on the bundled Redis 8 modules with their exact query semantics, weigh whether the Valkey module equivalents cover your use cases before committing. And if you're already on Redis 7.4+, remember that file-level migration to Valkey no longer works — plan a logical or replication-based path.

Frequently Asked Questions

Is Valkey a drop-in replacement for Redis?

For most workloads, yes. Valkey forked from Redis 7.2.4 and uses the identical RESP2/RESP3 protocol, so existing clients connect without code changes and RDB/AOF files from Redis 7.2 load natively (Valkey, 2025). The exceptions are commands added after the fork and the bundled Redis 8 modules, which you should validate per version.

Can Valkey read Redis RDB files?

Valkey reads RDB and AOF files compatible with Redis OSS 7.2 (RDB version 11). However, RDB files written by Redis CE 7.4 and later are not compatible with Valkey, because the on-disk format diverged after the 7.2.4 fork point (Valkey migration docs).

Is Valkey faster than Redis?

On high-core-count hardware, Valkey 8.0 showed roughly a 230% throughput gain over the 7.2 baseline — up to ~1.2M RPS on a c7g.16xlarge with 8 I/O threads (Valkey, Sept 2024). The gains come from async I/O threading and per-slot dictionaries. Always benchmark on your own instance types, since the figures are hardware-specific.

Do I need different client libraries for Valkey?

No. Because the wire protocol is identical to Redis, standard Redis client libraries — redis-py, ioredis, Jedis, go-redis, and others — work against Valkey unchanged. Dedicated Valkey clients exist but are optional; the protocol compatibility is what matters (Valkey protocol spec).

Is Redis still open source in 2026?

Yes, again. Redis added AGPLv3 as a license option starting with Redis 8 in May 2025, making it open source under OSI-approved terms alongside the source-available RSALv2 and SSPLv1 options (Redis, May 2025). Releases between 7.4 and 8 were source-available only.

Conclusion

Valkey and Redis remain remarkably compatible where it counts most — the RESP wire protocol is byte-identical, and your client code, monitoring, and proxies carry over with zero changes. The real divergence lives at two layers: the command set, which grows apart with each release past 7.2.4, and the on-disk RDB format, which is interoperable only at the Redis 7.2 baseline and breaks for Redis 7.4+ files.

For teams on Redis 7.2 or earlier, Valkey 8.x is a fast, low-risk upgrade with a genuine, independently verified performance edge. For teams on Redis 7.4+, migration is still very doable — it just requires a logical or replication-based path rather than a file copy. Either way, benchmark on your own hardware, pin to specific versions when you test command and module behavior, and snapshot both sides before you cut over.

Sources: *Valkey — Migration from Redis · Valkey — Protocol spec · Valkey 8.0 RC1 · Valkey — 1M RPS · Valkey 8.1 GA · Redis — AGPLv3 · Redis — What is Valkey · Percona — Redis license change · AWS — Year One of Valkey. Retrieved 2026-06-16.*