The Valkey documentation is managed in markdown files in the valkey-doc repository. It's released under the Creative Commons Attribution-ShareAlike 4.0 International license.
What is Valkey? See Introduction.
Programming with Valkey
- The full list of commands, with documentation for each of them.
- Data types: Keys are strings, but values can be of many different data types.
- Pipelining: How to send multiple commands at once, saving on round trip time.
- Pub/Sub: Using Valkey as a message broker using the Publish/Subscribe messaging system.
- Memory optimization: Understand how Valkey uses RAM.
- Expires: How to set a Time To Live (TTL) on key so that it will be automatically removed from the server when it expires.
- Valkey as an LRU cache: How to configure Valkey as a cache with a fixed amount of memory and automatic eviction of keys.
- Transactions: Valkey's approach to atomic transactions.
- Client side caching: How a client can be notified by the server when a key has changed.
- Keyspace notifications: Get notifications of keyspace events via Pub/Sub.
- Protocol specification: The client-server protocol, for client authors.
Server-side scripting in Valkey
- Programmability overview: An overview of programmability in Valkey.
- Valkey Lua API: The embedded Lua 5.1 interpreter runtime environment and APIs.
- Introduction to Eval Scripts: An introduction about using cached scripts.
- Introduction to Valkey Functions: An introduction about using functions.
- Debugging Lua scripts: An overview of the native Valkey Lua debugger for cached scripts.
Administration
- Installation: How to install and configure Valkey. This targets people without prior experience with Valkey.
- valkey-cli: The Valkey command line interface, used for administration, troubleshooting and experimenting with Valkey.
- valkey-server: How to run the Valkey server.
- Configuration: How to configure Valkey.
- Replication: What you need to know to set up primary-replica replication.
- Migration: How to migrate from Redis to Valkey.
- Persistence: Options for configuring durability using disk backups.
- Administration: Various administration topics.
- Security: An overview of Valkey's security.
- RDMA: An overview of RDMA support.
- Access Control Lists: ACLs make it possible to allow users to run only selected commands and access only specific key patterns.
- Encryption: How to use TLS for communication.
- Signals Handling: How Valkey handles signals.
- Connections Handling: How Valkey handles clients connections.
- Sentinel: Valkey Sentinel is one of the official high availability deployment modes.
- Releases: Valkey's development cycle and version numbering.
Valkey Cluster
- Cluster tutorial: A gentle introduction to Valkey Cluster, a deployment mode for horizontal scaling and high availability.
- Cluster specification: The more formal description of the behavior and algorithms used in Valkey Cluster.
Valkey modules API
- Introduction to Valkey modules: Extend Valkey using dynamically linked modules.
- Implementing native data types: Modules scan implement new data types (data structures and more) that look like built-in data types. This documentation covers the API to do so.
- Blocking operations: Write commands that can block the client (without blocking Valkey) and can execute tasks in other threads.
- Modules API reference: Documentation of all module API functions. Low level details about API usage.
Performance
- Latency monitoring: Integrated latency monitoring and reporting help tuning for low latency.
- valkey-benchmark: The benchmarking tool shipped with Valkey.
- On-CPU profiling and tracing: How to find on-CPU resource bottlenecks.
Tutorials & FAQ
- Quick start: Get started with Valkey.
- Mass insertion of data: How to add a big amount of data to a Valkey instance in a short time.
- Distributed locks: Implementing a distributed lock manager.
- Secondary indexes: How to simulate secondary indexes, composed indexes and traverse graphs using various data structures.
- ARM and Raspberry Pi: ARM and the Raspberry Pi are supported platforms. This page contains general information and benchmarks.
- Writing a simple Twitter clone with PHP and Valkey
- Troubleshooting: Problems? Bugs? High latency? Other issues? Use our problems troubleshooting page as a starting point to find more information.
- FAQ: Frequently asked questions.
Command runtime introspection
- Command key specifications: How to extract the names of keys accessed by every command.
- Command tips: Command tips communicate non-trivial execution modes and post-processing information about commands.
- Command arguments: An overview of command arguments as returned by the
COMMAND DOCS
command.