What Is Valkey?
Valkey is a lightweight, high-performance, open-source key-value data store. Developed to handle fast data retrieval, Valkey is often used in applications requiring quick access to frequently used or temporary data. It is comparable to other systems like Redis but with some variations in architecture and intended use cases.
Valkey operates on the principle of storing data in an in-memory structure, ensuring low-latency access and improved performance for applications. It supports various data structures such as strings, lists, and hash tables, enabling flexibility in storing different types of data.
The simplicity and efficiency of Valkey make it well-suited for web applications, microservices, or any system that benefits from reduced database load and enhanced responsiveness.
In this article:
- History of Valkey
- Key Features of Valkey
- Pros and Cons of Valkey
- Valkey vs. Redis: Key Differences
- Tutorial: Valkey Quickstart Guide
History of Valkey
Valkey emerged in 2024 as a community-driven fork of Redis, following a controversial licensing change by Redis Ltd. For years, Redis had been an open-source project led by its original creator, Salvatore Sanfilippo, and later maintained by a core team under Redis Labs. However, tensions mounted after Redis adopted the dual-source SSPL license in March 2024.
This change sparked widespread concern in the open-source community. In response, a coalition of contributors and organizations—including Alibaba, Amazon, Google, Ericsson, Huawei, and Tencent—created a fork of Redis version 7.2.4. The new project, Valkey, was established under the Linux Foundation with a commitment to maintain the original BSD license.
Valkey’s first major release, version 8.0, arrived just six months after the fork. It introduced enhanced threading and notable performance improvements, positioning Valkey as a potential successor for modern in-memory data use cases.
Key Features of Valkey
Valkey offers a set of performance-focused features that make it a reliable choice for systems requiring fast data access and real-time responsiveness.
Key Features
- In-memory speed: Valkey operates as an in-memory data store with persistence options, enabling significantly faster query execution compared to traditional disk-based databases.
- Data structure flexibility: It supports a wide range of data types, including strings, lists, maps, sets, sorted sets, bitmaps, streams, hyperloglogs, and geospatial indices.
- Replication: Valkey supports primary-replica replication, allowing data from a primary server to be duplicated across multiple replicas. This adds redundancy and enhances read scalability.
- Clustering: Its clustering feature supports up to 1,000 nodes, providing fault tolerance and horizontal scalability.
Use Cases
- Caching: Valkey is commonly used to store data such as user session-related data or recently accessed content, which helps reduce backend load and speeds up response times for users.
- Message queuing: With support for ordered message delivery by using Pub/Sub or streams, Valkey can be used in notification systems where messages need to be sent to the right users in the correct order.
- Real-time operations: Applications like e-commerce platforms benefit from Valkey’s low-latency operations, which enable real-time inventory updates and distributed locking under demand traffic.
Pros and Cons of Valkey
Valkey delivers strong performance and open-source credibility, but it also comes with trade-offs, particularly for teams evaluating it against Redis.
Valkey Pros
1. High throughput with enhanced I/O threading and better CPU utilization: Valkey 8.0 introduced enhanced I/O threading, significantly boosting throughput and making better use of available CPU resources. This upgrade enables Valkey to achieve performance levels comparable to enterprise Redis, especially in environments where multi-core utilization matters.
2. Experimental RDMA support: Valkey offers early-stage support for Remote Direct Memory Access (RDMA), a technology that allows for high-speed, low-latency memory transfers between machines. While still experimental, this feature could provide significant performance gains in specialized environments.
3. Open-source commitment: In May 2025, Redis added back an open-source license (AGPLv3). However, due to the history of the project, there is uncertainty in the community about future developments. By contrast, Valkey was always open source, is governed by the Linux Foundation, and uses the permissive BSD license.
Valkey Cons
1. Lack of feature parity with Redis: Valkey is forked from Redis 7.2.4, and earlier versions did not support several important Redis features. For example, as of Valkey version 8.1, it did not support time series and vector set (a new data type introduced in Redis 8.0).
2. Single-threaded: Despite improvements to I/O threading, Valkey still processes commands using a single-threaded execution model. This limits its ability to parallelize CPU-bound workloads and makes it difficult for Valkey to utilize modern cloud architectures.
3. No official support offering: Valkey currently lacks a structured support program. According to a Percona study, 76% of organizations evaluating Valkey expect to need third-party enterprise support. Redis, by contrast, provides robust support plans across various user levels.
4. Limited documentation and learning resources: Redis benefits from a long-standing ecosystem with extensive documentation, tools, and community resources. Valkey, being newer, does not yet offer the same depth of official or community-led content for learning and troubleshooting.
5. Lower market recognition: Redis enjoys high developer adoption and brand familiarity. It was one of the top databases in StackOverflow’s 2024 survey. Valkey, by comparison, still lacks this widespread recognition and community loyalty by the time of writing.
Valkey vs. Redis: Key Differences
Although Valkey and Redis share a common lineage, their recent development paths highlight key distinctions in architecture, performance, features, and licensing that matter for modern system design.
Learn more in our detailed comparison and benchmark of Redis vs. Valkey.
Architecture and Threading
Both Redis and Valkey maintain a single-threaded model for command execution to ensure atomicity, and both have enhanced network I/O handling for better performance. Redis introduced multi-threaded I/O in version 6.0 and further optimized it in Redis 8.0, achieving over 100% throughput gains in ideal scenarios.
Similarly, Valkey improved its asynchronous I/O threading in version 8.0, allowing more efficient distribution of I/O workloads across CPU cores. This dynamic threading approach helps Valkey scale smoothly in multi-core environments, particularly for high-throughput use cases.
Performance
Based on Valkey’s benchmark, on a 16 vCPU AWS c7g.4xlarge
instance, Valkey 8.0 achieved 1.19 million requests per second (RPS), vastly outperforming its earlier version.
Meanwhile, based on this benchmark performed by Momento, on newer but smaller 8 vCPU hardware, both Redis 8.0 and Valkey 8.1 approached 1M RPS, with Valkey slightly ahead in both GET and SET operations. Latency comparisons show Valkey’s implementation produces more consistent performance.
Persistence and Replication
Both systems use fork-based processing for background tasks like snapshotting and AOF rewriting. However, Valkey introduced dual-channel replication earlier, allowing it to stream snapshots and replication data simultaneously during full sync. Redis added a similar feature later in 8.0.
Feature Set
Redis 8.0 enhances its core with built-in support for advanced data types, including time-series, native JSON, search, and vector structures, making it well-suited for AI-driven workloads and semantic search.
Valkey, while prioritizing core efficiency, also supports modern data types like JSON, Bloom filters, and search as of version 8.1. Additionally, it introduces a memory-optimized hash table, further improving its efficiency for high-throughput workloads.
This distinction positions Redis as a strong choice for complex data operations and AI applications, while Valkey excels in traditional caching and memory-sensitive deployments.
Licensing and Community
Redis’ move to a tri-license model (RSALv2, SSPLv1, AGPLv3) has drawn criticism due to complexity and potential legal risks. Valkey, by contrast, retains the permissive BSD 3-Clause License.
This clarity appeals to teams seeking long-term open-source compliance without licensing surprises. Additionally, Valkey’s community-driven governance supports broader contribution and transparency, while Redis’ ecosystem remains more centralized.
Learn more in our detailed guide of Valkey vs Redis.
Tutorial: Valkey Quickstart Guide
This quickstart tutorial walks through the basic operations needed to get up and running with Valkey. Instructions are adapted from the Valkey documentation.
Step 1: Installation
To begin, install Valkey on your local machine. You can follow the official installation guides for your platform, which include options for Windows, macOS, and various Linux distributions.
Step 2: Connect to Valkey
Once installed, you can connect to your Valkey server using the command-line interface:
$> valkey-cli -h 127.0.0.1 -p 6379
This connects to a server running on localhost at the default port 6379
.
Step 3: Store and Retrieve String Data
Valkey supports storing string values under specific keys. Here’s how to save and retrieve a simple string entry for an airport code:
valkey$> SET JFK "John F Kennedy Airport"
OK
valkey$> GET JFK
"John F Kennedy Airport"
Step 4: Use Hashes to Represent Objects
Hashes in Valkey can store field-value pairs, similar to dictionaries or JSON objects. This is useful for storing structured data like product details:
valkey$> HSET JFK city "New York City" state "New York" country "USA"
valkey$> HGET JFK state
"New York"
valkey$> HGETALL JFK
1) "city"
2) "New York City"
3) "state"
4) "New York"
5) "country"
6) "USA"
Step 5: Scan for Keys
Valkey lets you explore stored data using the SCAN
command, which iterates over keys in the keyspace. You can filter keys using patterns:
valkey$> SCAN 0 MATCH "airport:*" COUNT 100
1) "0"
2) 1) "airport:6"
2) "airport:2"
3) "airport:1"
4) "airport:4"
5) "airport:5"
6) "airport:3"
The SCAN
command is cursor-based, meaning you can repeatedly call it with the returned cursor. Starting an iteration with a cursor value of 0
, and calling SCAN
until the returned cursor is 0
again indicates a full iteration.
Dragonfly: The Next-Generation In-Memory Data Store
Dragonfly is a modern, source-available, multi-threaded, Redis-compatible in-memory data store that stands out by delivering unmatched performance and efficiency. Designed from the ground up to disrupt existing legacy technologies, Dragonfly redefines what an in-memory data store can achieve. With Dragonfly, you get the familiar API of Redis without the performance bottlenecks, making it an essential tool for modern cloud architectures aiming for peak performance and cost savings. Migrating from Redis to Dragonfly requires zero or minimal code changes.
Key Advancements of Dragonfly
- Multi-Threaded Architecture: Efficiently leverages modern multi-core processors to maximize throughput and minimize latency.
- Unmatched Performance: Achieves 25x better performance than Redis, ensuring your applications run with extremely high throughput and consistent latency.
- Cost Efficiency: Reduces hardware and operational costs without sacrificing performance, making it an ideal choice for budget-conscious enterprises.
- Redis API Compatibility: Offers seamless integration with existing Redis applications and frameworks while overcoming its limitations.
- Innovative Design: Built to scale vertically and horizontally, providing a robust solution for rapidly growing data needs.
Dragonfly Cloud is a fully managed service from the creators of Dragonfly, handling all operations and delivering effortless scaling so you can focus on what matters without worrying about in-memory data infrastructure anymore.