Valkey is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Valkey provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Valkey has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Valkey Sentinel and automatic partitioning with Valkey Cluster.
You can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing an element to a list; computing set intersection, union and difference; or getting the member with highest ranking in a sorted set.
To achieve top performance, Valkey works with an in-memory dataset. Depending on your use case, Valkey can persist your data either by periodically dumping the dataset to disk or by appending each command to a disk-based log. You can also disable persistence if you just need a feature-rich, networked, in-memory cache.
Valkey supports asynchronous replication, with fast non-blocking synchronization and auto-reconnection with partial resynchronization on net split.
Valkey also includes:
- Transactions
- Pub/Sub
- Lua scripting
- Keys with a limited time-to-live
- LRU eviction of keys
- Automatic failover
You can use Valkey from most programming languages. See clients.
Valkey is written in ANSI C 11 with Atomics and a few GCC/Clang built-ins like __builtin_clz()
.
It works on most POSIX systems like Linux, *BSD and MacOS, without external dependencies.
Linux and MacOS are the two operating systems where Valkey is developed and tested the most, and we recommend using Linux for deployment.
Valkey may work on Solaris-derived systems like Illumos, but support is best effort.
Supported hardware includes x86-64 (AKA amd64), x86 (32-bit) and AArch64 (64-bit ARM).
It is also known to work on IBM z/Architecture like s390x and builds for this system are available from the Fedora distro.
There is no official support for Windows builds.