7.8 KiB
title: Valkey created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, nosql, cache, key-value, redis, bsd, c, linux-foundation] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/valkey-io/valkey]
🗄️ Valkey
Le fork open source de Redis : 100% compatible, maintenu par la Linux Foundation, licence BSD-3. Né en 2024 quand Redis a basculé en SSPL/RSALv2.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | valkey.io |
| GitHub | valkey-io/valkey |
| License | BSD-3-Clause |
| Langage | C |
| Étoiles GitHub | 26k ⭐ |
| Dernière MAJ | 2026-06-06 |
| Catégorie | cat-database |
📝 Description
Valkey est un fork communautaire de Redis créé en mars 2024 sous l'égide de la Linux Foundation, en réaction au changement de licence de Redis. Quand Redis Inc. a annoncé que les versions 7.4+ de Redis passeraient sous une double licence restrictive (SSPL + RSALv2), les principaux acteurs du cloud (AWS, Google, Oracle, Ericsson) et de gros contributeurs upstream ont forké Redis 7.2 (la dernière version sous licence BSD) pour créer Valkey.
🎯 Pourquoi Valkey existe
| Aspect | Redis 7.4+ | Valkey |
|---|---|---|
| Licence | SSPL + RSALv2 (non-OSS) | BSD-3-Clause (open source) |
| Gouvernance | Redis Inc. (éditeur) | Linux Foundation (neutre) |
| Compatibilité client | Standard | 100% drop-in : redis-cli, redis-py, ioredis, node-redis, etc. |
| Contributeurs | Redis Inc. + communauté | Meta, AWS, Google, Ericsson, Alibaba, Tencent… |
| Roadmap | Publisher-driven | Community-driven, RFC process |
Pour un homelab, c'est une bonne nouvelle : on garde toutes les fonctionnalités Redis (key-value in-memory, pub/sub, streams, Lua scripting, clustering, persistence) dans une vraie licence open source et avec une gouvernance neutre.
🛠️ Fonctionnalités (héritées de Redis)
- ✅ In-memory data store : latences sub-millisecond
- ✅ Structures riches : strings, hashes, lists, sets, sorted sets, streams, bitmaps, hyperloglog, geospatial
- ✅ Persistence : RDB snapshots + AOF logs
- ✅ Réplication : master/replica, Redis Sentinel
- ✅ Clustering : sharding natif jusqu'à 1000+ nœuds
- ✅ Pub/Sub + Streams (Kafka-like)
- ✅ Lua scripting côté serveur
- ✅ Modules : RediSearch, RedisJSON, etc. (compatibles ou réécrits)
- ✅ ACLs pour l'authentification fine
- ✅ TLS natif
- ✅ 100% drop-in : vous pouvez remplacer
redis:7parvalkey:8sans changer le code applicatif
🚀 Améliorations apportées par Valkey
- ✅ Multi-threading I/O (expérimental mais déjà mergé)
- ✅ Optimisations de performance continues
- ✅ RFC process ouvert sur GitHub
- ✅ Adoption rapide par les distros Linux (Debian, Fedora, Ubuntu, Alpine)
Public cible : tous ceux qui utilisent ou utiliseraient Redis pour du cache, du pub/sub, des sessions, des queues de messages. C'est désormais le choix par défaut pour le self-hosting.
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
valkey:
image: valkey/valkey:8
container_name: valkey
restart: unless-stopped
command: >
valkey-server
--appendonly yes
--maxmemory 256mb
--maxmemory-policy allkeys-lru
--requirepass "ChangeMe_VeryStrongPassword"
--bind 0.0.0.0
--protected-mode no
ports:
- "6379:6379"
volumes:
- valkey-data:/data
labels:
- "traefik.enable=false" # Pas d'exposition HTTP publique, on ne l'expose PAS
volumes:
valkey-data:
⚠️ Valkey ne se place PAS derrière Traefik : c'est un service backend, on l'expose uniquement sur le réseau Docker ou via un VPN/Tailscale. Pas de HTTPS, pas de Host header.
Option 2 : Natif (Debian/Ubuntu)
# Valkey est dans les dépôts Debian Trixie+ et Ubuntu 24.04+
sudo apt install valkey
sudo systemctl enable --now valkey-server
# Sinon, depuis les sources
git clone https://github.com/valkey-io/valkey.git
cd valkey
make -j$(nproc)
sudo make install
Option 3 : Macros Docker sans auth (usage interne)
docker run -d --name valkey \
-p 6379:6379 \
-v /opt/valkey:/data \
valkey/valkey:8 \
valkey-server --appendonly yes
⚙️ Configuration Initiale
- Test de connexion :
docker exec -it valkey valkey-cli -a ChangeMe_VeryStrongPassword PING→PONG - Sécuriser : activer
--requirepass(obligatoire) et--bindsur le réseau Docker - Choisir la stratégie de mémoire :
maxmemory-policy allkeys-lru(cache) ounoeviction(DB) - Activer la persistence :
--appendonly yes(AOF, plus durable) ou RDB viasaverules - Monitorer :
valkey-cli INFOou app-grafana avec le connecteurprometheus-redis-exporter - Sauvegarder : utiliser
BGSAVEpour un snapshot ponctuel, ouvalkey-cli --rdbpour copier le dump
🔄 Alternatives
Open Source
- KeyDB — Fork de Redis (per-thread), Snap Inc.
- DragonflyDB — Redis-compatible, plus performant, BSL
- Redict — Fork indépendant de Redis (Codeberg), orienté pur OSS
- Memcached — Cache distribué simple, sans persistence
- Apache Kvrocks — Redis-like sur RocksDB, persistant
- Garnet — Cache Microsoft, Redis-compatible, MIT
Propriétaires
- Redis Cloud / Redis Enterprise — L'offre officielle de Redis Inc., gérée
- Amazon ElastiCache — Redis ou Memcached managé
- Memorystore (GCP) — Redis ou Valkey managé (GCP supporte Valkey depuis 2024)
- Azure Cache for Redis — Redis managé
- Upstash — Redis serverless
Comparaison
| Critère | Valkey 8 | Redis 7.4 | KeyDB | Memcached |
|---|---|---|---|---|
| Licence | BSD-3 | SSPL/RSALv2 | BSD-3 | BSD-3 |
| Compatible Redis | ✅ (drop-in) | ✅ | ✅ | ❌ |
| Multi-threading | En cours | ❌ (single-threaded) | ✅ | ✅ |
| Persistence | AOF + RDB | AOF + RDB | AOF + RDB | ❌ |
| Streams | ✅ | ✅ | ✅ | ❌ |
| Pub/Sub | ✅ | ✅ | ✅ | ❌ |
| Gouvernance | Linux Foundation | Redis Inc. | Snap Inc. | Dormant |
| Idéal pour | Cache, sessions, pub/sub | Idem (mais licence) | Cache multi-threadé | Cache pur, simple |
Verdict : Valkey est désormais le choix par défaut pour un homelab : 100% compatible Redis, vraie licence open source, gouvernance neutre, performance au moins équivalente. Le seul cas où Redis garde un avantage est l'écosystème de modules propriétaire (RediSearch, RedisJSON) où les réécrits OSS ne sont pas encore à parité.
🔐 Sécurité
- Authentification obligatoire :
--requirepass(mot de passe) + ACLs fines (ACL SETUSER) - Pas d'exposition HTTP : Valkey ne doit jamais être exposé sur Internet, uniquement sur le réseau Docker ou via VPN
- TLS : activable via
--tls-portet certificats (surtout quand on doit l'ouvrir sur un réseau non sûr) - Backups : app-backup (restic) sur le volume
valkey-data, ouBGSAVErégulier - bind 0.0.0.0 uniquement sur le réseau Docker privé, jamais sur 0.0.0.0 de l'hôte
📚 Ressources
Pages Liées
- cat-database — Catégorie Database
- app-postgres — BDD relationnelle classique
- app-backup (restic) — Sauvegardes
- recettes-docker-compose — Recettes
- securisation-home-lab — Bonnes pratiques
- glossaire-homelab — Glossaire