Skip to content
Learni
View all tutorials
Bases de données

Comment installer et utiliser Valkey pour débutants en 2026

Introduction

Valkey est un fork open-source de Redis, créé en 2024 par la communauté Linux Foundation pour contrer les changements de licence de Redis vers RSAL/RSPL. Contrairement à Redis 8+, Valkey reste sous licence BSD-3 permissive, compatible à 100% avec les protocoles Redis, et optimisé pour les caches en mémoire, les files d'attente et les bases de données rapides.

Pourquoi l'utiliser en 2026 ? Les entreprises fuient Redis payant ; Valkey offre la même performance (sub-milliseconde), la persistance AOF/RDB, la réplication maître-esclave, sans verrouillage vendeur. Imaginez un coffre-fort ultra-rapide pour vos sessions utilisateur ou scores de jeu : c'est Valkey. Ce tutoriel beginner vous emmène de l'installation à un exemple client Python, avec 100% de code copier-collable. À la fin, vous gérezz des données en prod comme un pro. (128 mots)

Prérequis

  • Système : Ubuntu 22.04+, macOS Ventura+ ou Windows avec WSL2
  • Outils : curl, build-essential (Linux), Homebrew (Mac), Python 3.10+
  • Connaissances : Bases de terminal et JSON
  • Temps : 15 minutes

Installation de Valkey via package manager

install.sh
#!/bin/bash

# Ubuntu/Debian
sudo apt update
sudo apt install -y valkey

# macOS avec Homebrew
# brew install valkey

# Vérification
echo "Version installée :"
valkey-server --version
valkey-cli --version

Ce script installe Valkey via le gestionnaire de paquets natif, le plus simple pour débutants. Sur Ubuntu, apt récupère la version stable ; sur Mac, commentez et décommentez Homebrew. Vérifiez toujours les versions pour compatibilité. Évitez les sources si pas besoin de bleeding-edge.

Vérification et premier démarrage

Exécutez le script d'installation. Vous verrez la version (ex: 8.0+). Valkey n'est pas lancé par défaut. Utilisez systemctl pour le service systemd sur Linux.

Démarrage du serveur Valkey

start-valkey.sh
#!/bin/bash

# Démarrage en mode démon (background)
sudo systemctl start valkey-server
sudo systemctl enable valkey-server  # Auto-start au boot

# Vérification du statut
sudo systemctl status valkey-server

# Ou démarrage manuel (dev/test)
# valkey-server --port 6379 --daemonize yes

Ce code active le service systemd pour un démarrage persistant, idéal en prod. enable assure le redémarrage automatique. Pour tests locaux, utilisez --daemonize yes. Sur Mac/Windows, adaptez avec brew services start valkey. Port par défaut : 6379.

Connexion et commandes de base

Connectez-vous via CLI. Testez PING pour confirmer : réponse PONG. Stockez/récupérez comme un dictionnaire géant.

Commandes CLI essentielles

valkey-cli-basics.txt
valkey-cli

PING
SET user:42 "Alice" EX 3600  # Clé TTL 1h
GET user:42
DEL user:42

# Liste des clés
KEYS *

# Infos serveur
INFO server
EXIT

Ces commandes forment le cœur : SET avec TTL pour expiration auto (comme un cookie), GET pour lecture, DEL pour suppression. KEYS * liste tout (OK en dev, lent en prod). INFO donne stats. Copiez-collez dans valkey-cli pour tester instantanément.

Configuration personnalisée

Par défaut, Valkey écoute localhost:6379 sans mot de passe. Créez un fichier de config pour prod : bind, requirepass, persistance.

Fichier de configuration Valkey

valkey.conf
# /etc/valkey/valkey.conf (copiez-collez et adaptez)
port 6379
bind 127.0.0.1
requirepass "votre_mot_de_passe_ici"

# Persistance RDB (snapshot)
save 900 1
save 300 10
save 60 10000

dir /var/lib/valkey/
dbfilename dump.rdb

# Logs
logfile /var/log/valkey/valkey.log

# Max mémoire (limite)
maxmemory 256mb
maxmemory-policy allkeys-lru

Ce config complet sécurise (bind local + pass), persiste via RDB (snapshots auto), limite RAM à 256MB avec LRU (évite OOM). Éditez /etc/valkey/valkey.conf, puis sudo systemctl restart valkey-server. Testez avec -a pass dans CLI.

Redémarrage avec config et test auth

restart-with-config.sh
#!/bin/bash

sudo cp valkey.conf /etc/valkey/valkey.conf
sudo systemctl restart valkey-server
sudo systemctl status valkey-server

# Test avec auth
valkey-cli -a "votre_mot_de_passe_ici" ping
valkey-cli -a "votre_mot_de_passe_ici" CONFIG GET requirepass

Copie la config, redémarre le service. Teste l'auth avec -a. Si CONFIG GET retourne le pass (masqué), c'est OK. Erreur courante : oubli du restart après édition config.

Utilisation avec un client Python

Valkey est compatible Redis clients. Installez redis-py (même API).

Exemple client Python complet

valkey_client.py
import redis

# Connexion (adaptez host/port/pass)
r = redis.Redis(host='localhost', port=6379, password='votre_mot_de_passe_ici', decode_responses=True)

# Test
r.ping()
print('PONG')

# Stockage liste (file d'attente)
r.lpush('tasks', 'tache1')
r.lpush('tasks', 'tache2')
print(r.lrange('tasks', 0, -1))

# Hash utilisateur
r.hset('user:42', mapping={'name': 'Alice', 'age': 30})
print(r.hgetall('user:42'))

# Expiration
r.set('temp', 'valeur', ex=10)
print(r.get('temp'))

import time
time.sleep(11)
print('Après expiration:', r.get('temp'))  # None

r.close()

Ce script complet démontre ping, listes (LPUSH/LRANGE pour queues), hashes (HSET/HGETALL pour objets), TTL. decode_responses=True évite bytes. Lancez pip install redis avant. Parfait pour intégrer dans Flask/Django.

Bonnes pratiques

  • Sécurisez toujours : requirepass + bind 127.0.0.1 ou firewall ; TLS en prod.
  • Limitez mémoire : maxmemory + policy LRU/volatile-lru pour éviter crash.
  • Persistance hybride : RDB pour backups + AOF pour durabilité (appendonly yes).
  • Clés structurées : user:42:name au lieu de name pour éviter collisions.
  • Monitoring : INFO + Prometheus exporter ; scalez avec sentinels/cluster.

Erreurs courantes à éviter

  • Oubli du mot de passe : CLI échoue sans -a pass ; clients timeout.
  • KEYS * en prod : Bloque le serveur (millions de clés) ; utilisez SCAN.
  • Pas de maxmemory : Consomme toute RAM, OOM killer tue le process.
  • Persistance ignorée : RDB/AOF désactivés = données perdues au restart.

Pour aller plus loin

  • Docs officielles : valkey.io
  • Cluster : Tutoriel avancé sur sharding.
  • Alternatives : Dragonfly (compatible, plus rapide).
Découvrez nos formations Learni sur les bases NoSQL pour maîtriser Valkey en prod.