What is Valkey and why does it matter?
.webp)
Modern applications are expected to be fast, responsive, and available around the clock. Whether you're using a social media platform, an online store, or a real-time messaging app, users expect data to load instantly. Behind the scenes, developers rely on technologies that can process large volumes of data with minimal delay.
One of the most popular tools for this purpose has long been Redis, an in-memory data store known for its speed and versatility. However, in 2024, the database community saw the rise of a new alternative called Valkey. Since then, Valkey has gained significant attention from developers, cloud providers, and open-source contributors.
In this guide, you'll learn what Valkey is, how it works, how it differs from Redis, and why it matters for modern applications.
What is Valkey?
Valkey is an open-source, in-memory data store designed to process and retrieve data extremely quickly. It stores data in memory instead of relying primarily on disk storage, which helps applications achieve very low response times.
You can think of Valkey as a fully open-source, Redis-compatible database that is commonly used for caching, session management, real-time analytics, message queues, and other performance-critical workloads.
Since it supports the same commands and client libraries as Redis, many applications can switch to Valkey with little or no code changes.
Why was Valkey created?
Valkey was created in 2024 as a response to licensing changes in the Redis ecosystem. For many years, Redis was available under a permissive open-source license, allowing cloud providers, software vendors, and developers to use, modify, and distribute it freely.
This openness helped Redis become one of the most widely adopted in-memory databases in the world and encouraged the growth of a large ecosystem of tools, services, and integrations.
The situation changed when Redis Ltd. moved Redis to a source-available licensing model, introducing restrictions on certain commercial uses.
While the software remained available, the new licensing terms created concerns for cloud providers, enterprises, and members of the open-source community who preferred software governed under OSI-approved open-source licenses.
To ensure the availability of a fully open-source and Redis-compatible alternative, contributors from several major technology companies and the broader open-source community forked the
Redis codebase at the last fully open-source version. This project became Valkey and was placed under the governance of the Linux Foundation to provide vendor-neutral oversight and long-term stability.
Since its launch, Valkey has continued to evolve independently, focusing on performance improvements, better clustering capabilities, enhanced reliability, and continued compatibility with the Redis API.
This allows organizations to benefit from a familiar technology while remaining within a fully open-source ecosystem.
Valkey vs. Redis: What is the difference?
.webp)
Valkey and Redis share the same roots and are very similar in terms of functionality. Both support the same core data structures, commands, and use cases. The main differences lie in licensing, governance, and future development.
Licensing and usage rights
Redis originally used a permissive BSD license, then moved to a source-available model (SSPL/RSALv2) in 2024 — the change that prompted the Valkey fork. In May 2025, Redis returned to open source by adding the AGPLv3 (an OSI-approved license) with Redis 8. Valkey, forked from the last BSD-licensed Redis release, remains under a permissive BSD license and Linux Foundation governance, which some organizations still prefer over AGPLv3's copyleft terms. Valkey was created from the last fully open-source Redis release and remains fully open source. This gives organizations greater freedom to use, modify, host, and distribute the software without licensing concerns.
Community governance and development model
Redis is primarily managed by Redis Ltd., while Valkey is governed under the Linux Foundation. Valkey follows a community-driven model where contributors from different companies and the open-source community help shape the project's roadmap and development.
Feature parity and compatibility
Valkey maintains strong compatibility with Redis. Most Redis commands, APIs, and client libraries work without modification, allowing many applications to switch to Valkey with minimal effort. For common workloads such as caching, queues, sessions, and streams, the user experience is largely the same.
Performance benchmarks and comparisons
Both Valkey and Redis are built for low-latency, high-performance data processing. Performance is generally comparable, although results vary depending on hardware, workload, and configuration. Valkey's development efforts are focused on improving scalability, clustering, and performance while maintaining compatibility with existing Redis-based applications.
Why Valkey matters?
Valkey is more than just a Redis alternative. It gives organizations a way to maintain high-performance data operations while benefiting from an open and community-driven ecosystem.
True open-source governance: Valkey is governed under the Linux Foundation, ensuring transparent development and reducing dependence on a single vendor's business decisions.
Enhanced performance and efficiency: Valkey is designed for low-latency data processing and continues to evolve with performance improvements that help applications handle demanding workloads efficiently.
Optimized resource consumption: Ongoing development focuses on making better use of CPU, memory, and infrastructure resources, helping organizations achieve more efficient deployments.
Drop-in compatibility: Valkey maintains compatibility with most Redis commands, APIs, and client libraries, making migration straightforward for existing Redis users.
Enterprise-grade modernization: With active community support and a forward-looking roadmap, Valkey provides enterprises with a modern platform for building scalable, cloud-native applications.
Also read: What is AI governance?
What are the core features of Valkey?
Valkey combines high-speed data processing with features that help applications remain scalable, reliable, and easy to manage.
In-memory key-value data store
Valkey stores data primarily in memory, allowing applications to read and write information extremely quickly. This makes it ideal for workloads that require low latency and real-time performance.
Supported data structures
Beyond simple key-value pairs, Valkey supports multiple data structures, including strings, hashes, lists, sets, sorted sets, and streams. These options allow developers to handle different types of application data efficiently.
High availability and replication
Valkey supports replication, which creates copies of data across multiple servers. This improves reliability and helps applications remain available even if a server fails.
Clustering and horizontal scalability
Valkey can distribute data across multiple nodes through clustering. This allows you to scale horizontally by adding more servers as data volume and traffic increase.
Persistence options
Although Valkey is an in-memory database, it can also save data to disk. These persistence options help recover data after restarts and reduce the risk of data loss.
Lua scripting and module support
Valkey supports Lua scripting, allowing multiple operations to run as a single atomic command. It also supports extensions and modules that add new functionality without changing the core database.
What data structures are supported by Valkey?
Valkey is more than a simple key-value store. It supports multiple built-in data structures that help developers handle different types of data efficiently and at high speed.
Strings & Numbers: The most basic data type in Valkey is a string, which can also represent numbers. It is commonly used for caching values, counters, and simple data storage.
Hashes: Hashes store data as field-value pairs, similar to objects in programming languages. They are useful for representing structured data like user profiles or product details.
Lists & Sets: Lists are ordered collections of elements, while sets are unordered and ensure uniqueness. These structures are often used for queues, feeds, and storing unique items.
Sorted Sets: Sorted sets store unique elements along with a score, which determines their order. They are widely used for leaderboards, ranking systems, and priority queues.
Bitmaps & HyperLogLogs: Bitmaps allow efficient storage and manipulation of binary data, while HyperLogLogs are used for approximate counting of unique items. These are ideal for analytics use cases.
Geospatial Indexes: Geospatial data types help store and query location-based information, making them useful for mapping, ride-hailing apps, and nearby search features.
Streams: Streams are used for real-time data processing, message queues, and event logging. They allow applications to process continuous data flows efficiently.
Also read: 25 Best MLOps Tools of 2026
What are the common Use Cases for Valkey
Valkey is widely used in systems where speed, scalability, and real-time processing are important. Its in-memory architecture makes it suitable for handling high-frequency data operations.
Caching and session management
Valkey is commonly used to cache frequently accessed data like user profiles, product details, and API responses. It also stores session data in web applications, helping users stay logged in and reducing load on primary databases.
Real-time analytics and leaderboards
It is ideal for real-time data processing such as tracking user activity, monitoring system metrics, or powering gaming leaderboards where rankings change instantly based on user actions.
Message queues and pub/sub messaging
Valkey supports lightweight messaging systems that allow different services to communicate with each other. This is useful in microservices architectures for event-driven communication and task distribution.
Rate limiting and distributed locking
It is often used to control API usage by rate limiting the number of requests a user can make in a given time. It also helps implement distributed locking, ensuring that multiple processes do not modify the same resource at the same time.
How to Install and Get Started with Valkey
While exact setup commands may vary depending on your system and version, the overall installation process for Valkey follows a simple and consistent flow.
System requirements and prerequisites
To run Valkey smoothly, you typically need:
Operating System: Modern Linux distributions (Ubuntu, Debian, RHEL, etc.) or macOS for development and testing. It can also run in container environments like Docker and Kubernetes.
Hardware: A system with enough RAM to hold your working dataset, a modern CPU (preferably with strong single-thread performance), and SSD storage if persistence is enabled.
Dependencies: If building from source, you may need a C toolchain such as gcc, make, and other standard build utilities.
Installation on Linux, macOS, and Docker
Linux (Package Manager): Some distributions may provide Valkey packages through apt, yum, or dnf. After installation, you can start the service using system tools like systemctl enable valkey and systemctl start valkey.
Linux/macOS (Build from Source): You can clone the official repository, run make to compile, and start the server using src/valkey-server.
Docker: Valkey can be quickly run using a container:
docker run -p 6379:6379 valkey/valkey:latest
You can then connect to it on localhost:6379 using any Redis-compatible client.
Basic configuration and setup
Valkey uses a configuration file (commonly valkey.conf) to manage behavior. Key settings include:
- Networking: bind address, port, and optional TLS settings
- Memory: max memory limits and eviction policies
- Persistence: snapshot intervals and append-only file settings
- Security: passwords and access control lists (ACLs)
For quick setups, defaults usually work fine, but in production you should restrict access, enable authentication, and decide whether persistence is required.
Running your first Valkey command
Once Valkey is running, you can connect using a CLI tool like valkey-cli or any Redis-compatible client:
valkey-cli -h 127.0.0.1 -p 6379
Then try basic commands:
SET greeting "hello valkey"
GET greeting
INCR visits
LPUSH tasks "email-user"
LRANGE tasks 0 -1
After this, you can integrate Valkey into applications using standard Redis client libraries in languages like Python, Java, Node.js, or Go by pointing them to your Valkey server.
Migrating from Redis to Valkey
Migrating from Redis to Valkey is usually done in a controlled, gradual way to avoid downtime and data loss.
- Set up a Valkey instance with configuration similar to your existing Redis setup
- Run both systems in parallel and test your application against Valkey in a staging environment
- Sync data from Redis to Valkey using replication or snapshot-based export/import methods
- Gradually shift application traffic from Redis to Valkey while monitoring performance and errors
- Fully switch to Valkey once stability and correctness are confirmed, then decommission Redis
Conclusion
Valkey is a high-performance, open-source in-memory data store created as a community-driven alternative to Redis. It delivers the speed, flexibility, and scalability developers expect while emphasizing open governance and long-term accessibility.
Whether you're building caching systems, real-time applications, session stores, or analytics platforms, Valkey offers a modern solution that combines proven technology with a strong commitment to the open-source ecosystem.

Govern, Deploy and Trace AI in Your Own Infrastructure
Frequently Asked Questions
What is Valkey used for?
Valkey is used for caching, session management, real-time analytics, messaging, and fast data storage. It helps applications improve performance by handling frequently accessed data in memory for very low latency reads and writes.
Is Valkey production ready?
Yes, Valkey is production ready and actively used in real-world systems. It is designed for high availability, reliability, and scalability, making it suitable for modern cloud-native and enterprise-grade applications requiring fast data processing.
Is Valkey scalable?
Yes, Valkey is highly scalable through clustering and horizontal scaling. You can distribute data across multiple nodes, allowing it to handle increasing traffic and large datasets efficiently without overloading a single server.
Is Valkey single-threaded?
Valkey primarily uses a single-threaded event loop for command execution, ensuring simplicity and speed. However, it also uses background threads for tasks like persistence and I/O operations to improve overall performance.
Is Valkey secure?
Yes, Valkey supports security features like password authentication, access control lists, and optional TLS encryption. These help protect data access and ensure secure communication between clients and the server.
What are the alternatives to Valkey?
Common alternatives include Redis, Memcached, and Aerospike. These systems also provide in-memory data storage, but differ in licensing, features, scalability models, and ecosystem support.
How many databases are there in Valkey?
Valkey supports multiple logical databases within a single instance, typically 16 by default. Each database is separated logically, allowing key isolation, though modern usage often prefers a single database with key namespaces.
















