TL;DR — Résumé Rapide
Valkey est le fork open source de Redis par la Linux Foundation. Installez-le, migrez depuis Redis sans perte de données et configurez clusters et Sentinel.
Valkey est le fork open source de Redis sous la Linux Foundation, créé après le changement de licence de Redis Ltd en mars 2024. Si vous exploitez Redis en production et souhaitez rester sur un magasin clé-valeur véritablement open source avec une gouvernance communautaire, ce guide couvre l’installation, la migration depuis Redis sans perte de données, et l’exploitation des clusters et de Sentinel.
Pourquoi Valkey Existe
Redis était sous licence BSD de 2009 jusqu’au début 2024. Le 20 mars 2024, Redis Ltd a relicencié Redis sous un modèle dual SSPL/RSAL — aucune de ces licences n’est approuvée par l’OSI, ce qui signifie que Redis n’est plus open source au sens standard. Les fournisseurs cloud et les contributeurs ont forké la dernière version BSD (7.2.4) en quelques jours.
La Linux Foundation a accepté le fork comme Valkey en avril 2024, soutenu par Amazon Web Services, Google Cloud, Oracle, Ericsson, Snap et de nombreux contributeurs individuels.
Prérequis
- Serveur Linux avec Ubuntu 22.04+, Debian 12+, RHEL 9+, ou toute distro moderne.
- Installation Redis 6.x ou 7.x existante (si migration).
- Accès
sudoou root. - Docker (optionnel, pour la voie conteneur).
Installation de Valkey
apt (Debian/Ubuntu)
curl -fsSL https://packages.valkey.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/valkey.gpg
echo "deb [signed-by=/usr/share/keyrings/valkey.gpg] https://packages.valkey.io/apt stable main" \
| sudo tee /etc/apt/sources.list.d/valkey.list
sudo apt update && sudo apt install -y valkey
dnf (RHEL/Fedora/Rocky Linux)
sudo dnf install -y https://packages.valkey.io/rpm/valkey-release-latest.rpm
sudo dnf install -y valkey
Docker
docker run -d \
--name valkey \
-p 6379:6379 \
-v valkey-data:/data \
valkey/valkey:latest valkey-server --save 60 1 --loglevel warning
Migration de Redis vers Valkey
Valkey lit directement les fichiers RDB et AOF de Redis — aucune conversion n’est requise.
Étape 1 : Sauvegarder les Données Redis
redis-cli SAVE
sudo cp -r /var/lib/redis /var/lib/redis-backup
Étape 2 : Arrêter Redis
sudo systemctl stop redis-server
sudo systemctl disable redis-server
Étape 3 : Configurer Valkey
sudo cp /etc/redis/redis.conf /etc/valkey/valkey.conf
sudo sed -i 's|^dir .*|dir /var/lib/redis|' /etc/valkey/valkey.conf
valkey.conf utilise une syntaxe identique à redis.conf. Chaque directive — bind, requirepass, maxmemory, politiques d’éviction, TLS, RDB, AOF — fonctionne sans modification.
Étape 4 : Démarrer Valkey et Vérifier
sudo systemctl enable valkey-server
sudo systemctl start valkey-server
valkey-cli PING # → PONG
valkey-cli DBSIZE # vérifier le nombre de clés
Étape 5 : Mettre à Jour les Chaînes de Connexion
Changez host: redis en host: valkey (ou le nouvel IP/hostname). Aucun autre changement de code n’est nécessaire.
Référence de Configuration
| Directive | Exemple | Objectif |
|---|---|---|
bind | bind 127.0.0.1 ::1 | Adresses d’écoute |
requirepass | requirepass s3cr3t | Authentification par mot de passe |
maxmemory | maxmemory 2gb | Limite mémoire |
maxmemory-policy | allkeys-lru | Politique d’éviction |
save | save 900 1 | Calendrier des snapshots RDB |
appendonly | appendonly yes | Activer AOF |
Nouvelles Fonctionnalités de Valkey
Valkey inclut des améliorations absentes de Redis OSS :
- Transport RDMA — Remote Direct Memory Access pour les clusters à très faible latence (Valkey 8.0+).
- Dict par slot en mode cluster — Chacun des 16 384 hash slots obtient son propre dictionnaire, réduisant la contention de verrous.
- Réplication à double canal — Canal dédié pour le transfert de données en masse et un autre pour le streaming de commandes en direct.
- Meilleure efficacité mémoire — Surcharge par clé réduite vs Redis 7.2.
Cluster Valkey
Le Cluster Valkey utilise le même modèle de 16 384 hash slots que Redis Cluster. Les outils existants fonctionnent sans modification.
# Créer un cluster de 6 nœuds (3 primaires + 3 répliques)
valkey-cli --cluster create \
192.168.1.1:7000 192.168.1.2:7001 192.168.1.3:7002 \
192.168.1.4:7003 192.168.1.5:7004 192.168.1.6:7005 \
--cluster-replicas 1
# Vérifier l'état du cluster
valkey-cli --cluster check 192.168.1.1:7000
Sentinel pour Haute Disponibilité
# /etc/valkey/sentinel.conf
sentinel monitor mymaster 192.168.1.1 6379 2
sentinel auth-pass mymaster s3cr3t
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
valkey-sentinel /etc/valkey/sentinel.conf
Docker Compose avec Sentinel
services:
valkey-primary:
image: valkey/valkey:latest
command: valkey-server --requirepass ${VALKEY_PASSWORD} --appendonly yes
volumes:
- valkey-primary-data:/data
networks: [valkey-net]
valkey-replica:
image: valkey/valkey:latest
command: >
valkey-server
--replicaof valkey-primary 6379
--requirepass ${VALKEY_PASSWORD}
--masterauth ${VALKEY_PASSWORD}
volumes:
- valkey-replica-data:/data
networks: [valkey-net]
depends_on: [valkey-primary]
valkey-sentinel:
image: valkey/valkey:latest
command: valkey-sentinel /etc/valkey/sentinel.conf
configs:
- source: sentinel-conf
target: /etc/valkey/sentinel.conf
networks: [valkey-net]
volumes:
valkey-primary-data:
valkey-replica-data:
networks:
valkey-net:
configs:
sentinel-conf:
content: |
sentinel monitor mymaster valkey-primary 6379 1
sentinel auth-pass mymaster ${VALKEY_PASSWORD}
sentinel down-after-milliseconds mymaster 5000
Valkey vs Redis et Alternatives
| Fonctionnalité | Valkey | Redis OSS | Redis Enterprise | KeyDB | Dragonfly |
|---|---|---|---|---|---|
| Licence | BSD 3-Clause | SSPL/RSAL | Propriétaire | BSD | BSL 1.1 |
| Gouvernance | Linux Foundation | Redis Ltd | Redis Ltd | Snap Inc | Dragonfly DB |
| Compat. Redis | Totale (7.2) | Native | Totale | Totale | Haute |
| Cluster | Oui | Oui | Oui | Oui | Oui |
| RDMA | Oui (v8+) | Non | Partiel | Non | Non |
| Coût | Gratuit | Gratuit | Payant | Gratuit | Gratuit (cœur) |
Résumé
- Valkey est le fork BSD sous gouvernance Linux Foundation de Redis 7.2 — remplacement direct compatible.
- La migration est simple : arrêtez Redis, pointez Valkey vers le répertoire de données existant, démarrez Valkey.
- Tous les clients Redis se connectent à Valkey sans modifications de code — seul le hostname change.
- Cluster et Sentinel utilisent une configuration et des outils identiques à Redis.
- Nouvelles fonctionnalités dans Valkey 8+ améliorent les performances au-delà de Redis 7.2.