valkey
Installation
SKILL.md
Valkey
Valkey is an open-source (BSD-3-Clause), high-performance in-memory key-value datastore governed by the Linux Foundation. It is a community fork of Redis 7.2.4, created in March 2024 after Redis Inc. dropped the BSD license. Apply these conventions when writing Rust or Node.js code that talks to Valkey.
What Valkey Is and How It Differs From Redis
- Wire-compatible with Redis OSS ≤ 7.2 — same RESP2/RESP3 protocol and command set. Any Redis client speaks to Valkey. Migration from open-source Redis ≤ 7.2 is effectively an in-place upgrade.
- Data-file compatibility: Valkey reads RDB/AOF from Redis OSS ≤ 7.2. Redis CE 7.4+ data files are not compatible (Redis changed format under its new non-open license).
- License: Valkey is BSD-3-Clause. Redis 7.4+ is SSPL/RSALv2 (and added AGPL in 2025). Choose Valkey when you need a permissive, vendor-neutral license.
- Execution model: command execution remains single-threaded (preserving atomic semantics). Valkey 8.0+ added multi-threaded I/O (connection accept, RESP parsing, write-buffer flush on dedicated threads) for ~2–3x throughput. Do not assume commands run concurrently — they do not.
- Version landmarks:
- 8.0 — async I/O threading; dual-channel replication; experimental Valkey-over-RDMA.
- 8.1 — new hashtable (~20 bytes/key less memory, ~30 with TTL), iterator prefetching, TLS-negotiation offload to I/O threads, lower fork copy-on-write overhead.
- 9.0 — hash field expiration (
HEXPIREfamily), numbered logical DBs in cluster mode, atomic slot migration.
- Feature divergence from Redis 8.x: Redis moved JSON, time-series, probabilistic structures, and native vector sets into its core. Valkey keeps the core lean and ships those as separate official modules:
valkey-json,valkey-bloom,valkey-search(vector/secondary index),valkey-ldap. If a project needs JSON documents or vector search, confirm the corresponding module is loaded — it is not built in. - Lua difference: Valkey exposes a
serverglobal in scripts alongside the Redis-compatibleredisglobal (identical API). Preferserver.*in new Valkey-only scripts; useredis.*for portability.