The Valkey BSD license isn’t just a legal formality; it’s a deliberate choice to prioritize community innovation and broad adoption over vendor lock-in, starkly contrasting with Redis’s SSPL.

Let’s see Valkey in action. Imagine a small startup building a real-time analytics dashboard. They need a fast, in-memory data store. They’ve evaluated Redis but are wary of the SSPL’s restrictions on offering it as a managed service. They turn to Valkey.

Here’s a typical setup in their valkey.conf:

port 6379
daemonize yes
logfile "/var/log/valkey/valkey.log"
dir "/var/lib/valkey/dump"
save 900 1
save 300 10
save 60 10000

This configuration tells Valkey to listen on port 6379, run as a background daemon, log to a specific file, persist data to /var/lib/valkey/dump with periodic snapshots (saving the database if at least 1 key is changed in 900 seconds, or 10 keys in 300 seconds, or 10000 keys in 60 seconds).

Now, they can interact with it using valkey-cli:

$ valkey-cli
VALKEY:(none)> SET page_views:homepage 1500
OK
VALKEY:(none)> GET page_views:homepage
"1500"
VALKEY:(none)> INCR page_views:homepage
(integer) 1501
VALKEY:(none)> LRANGE users_online 0 5
(empty list or set)
VALKEY:(none)> RPUSH users_online user123
QUEUED
VALKEY:(none)> RPUSH users_online user456
QUEUED
VALKEY:(none)> EXEC
1) (integer) 1
2) (integer) 1

This shows basic key-value operations (SET, GET) and list manipulations (LRANGE, RPUSH). The QUEUED and EXEC demonstrate transaction capabilities, where multiple commands are sent and then executed atomically.

The core problem Valkey solves, and where its license shines, is enabling developers to build on top of open-source technology without fear of future licensing shifts that could cripple their business. Redis, under the SSPL, has made it more difficult for cloud providers to offer Redis as a managed service without negotiating specific terms, effectively creating a walled garden. Valkey, with its BSD-3-Clause license, doesn’t impose these "additional restrictions."

Internally, Valkey (like Redis) is a single-threaded, event-driven, in-memory data structure store. It uses an event loop to handle multiple client connections efficiently. For persistence, it supports RDB snapshots (point-in-time dumps) and AOF (Append Only File) logging, which records every write operation. The commands we saw (SET, GET, INCR, LRANGE, RPUSH) are all handled by this efficient event loop, processing requests as they arrive. The transaction support (MULTI/EXEC) is managed by queuing commands within a client’s connection context before executing them as a single atomic unit.

The key levers you control are primarily in the valkey.conf file. Tuning maxmemory to prevent exceeding available RAM, adjusting save directives for RDB persistence frequency, configuring appendonly and appendfsync for AOF durability, and setting up replication (replicaof) are all critical for performance and reliability.

The most surprising thing about the BSD license’s impact is how it fosters a healthier ecosystem for everyone, not just the end-users. When a core technology remains truly open and permissive, it encourages a wider array of third-party tools, integrations, and managed service providers. This competition drives innovation and can lead to better, more specialized offerings than a single vendor might produce. It also means that if a company offering a managed service based on Valkey were to go out of business, the community and other providers can seamlessly continue development and support without legal hurdles.

The next challenge you’ll likely encounter is optimizing Valkey for high-throughput scenarios, which will involve understanding its replication and clustering capabilities.

Want structured learning?

Take the full Valkey course →