Tutoriel

Valkey vs Redis en 2026 : comparatif et guide de migration

Bases de données10 min de lecture4 étapes

En 2024, le passage de Redis à la licence BSL a provoqué un séisme dans l'écosystème open source. Linux Foundation, Meta, Google et AWS ont répondu avec Valkey, un fork BSD maintenu collectivement. Depuis, Redis a fait marche arrière en adoptant l'AGPLv3 en mai 2025 — mais l'histoire ne s'arrête pas là. Valkey 9.1, sorti en mai 2026, est désormais le paquet de cache par défaut sur les principales distributions Linux. Il affiche +8 % d'opérations par seconde, -22 % de latence P99 et -20 % de consommation mémoire par rapport à Redis. Ce guide couvre les différences réelles : protocole, format de données, API de modules, bibliothèques clientes, configuration — et vous aide à choisir et à migrer en quatre étapes.

Sommaire· Pourquoi le débat Redis/Valkey revient en 20261/11
  1. 01Pourquoi le débat Redis/Valkey revient en 2026
  2. 02Redis vs Valkey : les différences clés en 2026
  3. 03Compatibilité protocole : RESP2 et RESP3
  4. 04Format de données : RDB et AOF entièrement compatibles
  5. 05API de commandes : ce qui est identique, ce qui diffère
  6. 06Configuration : les paramètres à vérifier lors du passage
  7. 07Bibliothèques clientes : ce que vous ne changez pas
  8. 08Quand choisir Valkey plutôt que Redis
  9. 09Migrer de Redis vers Valkey en 4 étapes
  10. 10Ce qui ne change pas lors d'une migration Redis → Valkey
  11. 11Et vos autres bases de données sur VPS ?

Pourquoi le débat Redis/Valkey revient en 2026

En mars 2024, Redis Ltd. a basculé vers la licence BSL (Business Source License), exclue des définitions open source OSI. La réaction a été immédiate : Linux Foundation a coordonné la création de Valkey avec le soutien de Meta, Google, AWS et plusieurs grands hébergeurs. Le fork est parti du code Redis 7.2 sous licence BSD. En mai 2025, Redis est revenu à une licence OSI-compatible en adoptant l'AGPLv3 — un signal positif, mais l'AGPLv3 est un copyleft fort : tout logiciel qui l'intègre doit publier son code source, ce qui pose des contraintes réelles pour les hébergeurs revendeurs et les éditeurs de logiciels commerciaux. Pendant ce temps, Valkey 9.1 est devenu le paquet par défaut sur Ubuntu 24.04+, Debian 13 et Fedora 40+, consolidant son adoption à l'échelle des distributions majeures.

Redis vs Valkey : les différences clés en 2026

Faites défiler le tableau

CritèreRedis 8 (AGPLv3)Valkey 9.1 (BSD)
LicenceAGPLv3 — copyleft fort, embarquement commercial restreintBSD — permissive, usage commercial libre
PerformanceRéférence historique+8 % ops/sec, -22 % latence P99, -20 % mémoire
Compatibilité protocole100 % Redis protocol100 % protocole Redis — remplacement transparent
Support distrosNon installé par défautUbuntu 24.04+, Debian 13, Fedora 40+ — paquet natif
ModulesRedis Stack payant (RedisJSON, RediSearch…)API de modules compatible, écosystème en cours
Adoption cloudAWS ElastiCache reste RedisGCP Memorystore Valkey disponible, AWS se dirige vers Valkey
Idéal pourProjets existants dépendant des modules Redis StackNouveaux projets, hébergeurs, stacks souveraines, distros modernes

Compatibilité protocole : RESP2 et RESP3

La question la plus fréquente avant une migration est celle du protocole. Valkey implémente à 100 % le Redis Serialization Protocol dans ses deux versions.

RESP2 (le protocole historique) est intégralement supporté. Toutes vos bibliothèques clientes existantes — ioredis, Predis, redis-py, Jedis, StackExchange.Redis — communiquent avec Valkey sans aucune modification de code ou de configuration. Le remplacement est transparent au niveau du socket.

RESP3 (introduit avec Redis 6.0) est également supporté par Valkey 9.1. Ce protocole apporte des types de réponse enrichis — maps, sets, doubles, booléens, attributs — qui permettent aux clients modernes de réduire les aller-retours de parsing. Les bibliothèques qui activent RESP3 par défaut (ioredis 5+, redis-py 5+) fonctionnent sans modification avec Valkey.

Un point à vérifier : si votre client négocie le protocole via la commande HELLO, Valkey répond de manière identique à Redis. La commande HELLO 3 active RESP3 sur les deux systèmes de la même façon. Vous pouvez le confirmer sur une instance Valkey existante avec valkey-cli HELLO 3.

Format de données : RDB et AOF entièrement compatibles

Le format des fichiers de persistance est l'autre point critique d'une migration. Valkey lit et écrit les mêmes formats que Redis, sans conversion intermédiaire.

RDB (Redis Database Backup) : Valkey supporte les versions RDB 6, 7, 8, 9 et 10. Un fichier dump.rdb exporté depuis Redis 7.x ou 8.x s'importe directement dans Valkey 9.1 en le plaçant dans le répertoire dir de Valkey avant le démarrage. Aucun outil de conversion n'est nécessaire.

AOF (Append-Only File) : le format de journal AOF est identique entre Redis et Valkey. Si vous utilisez la persistance AOF ou le mode mixte (aof-use-rdb-preamble yes), vos fichiers existants sont lus par Valkey sans modification. La commande BGSAVE et BGREWRITEAOF se comportent de la même façon.

Format de données en mémoire : les structures de données Valkey — strings, hashes, lists, sets, sorted sets, streams, HyperLogLog, bitmaps, geospatial — sont identiques à celles de Redis. Les encodages internes (ziplist, listpack, skiplist, quicklist, intset) ont été maintenus à parité. Un client qui stocke un hash dans Redis le récupère intact depuis Valkey.

API de commandes : ce qui est identique, ce qui diffère

L'ensemble des commandes Redis est supporté par Valkey. Les catégories principales — strings, hashes, lists, sets, sorted sets, streams, pub/sub, transactions, scripting Lua, keyspace notifications, cluster — fonctionnent de façon identique.

Scripting Lua : Valkey supporte EVAL, EVALSHA et SCRIPT LOAD. Les scripts Lua écrits pour Redis s'exécutent sans modification sur Valkey. La bibliothèque cjson et les fonctions redis.call() sont disponibles, avec une nuance : Valkey a introduit la compatibilité avec l'alias valkey.call() pour les nouveaux scripts, mais redis.call() reste fonctionnel pour la rétrocompatibilité.

Cluster : le protocole Gossip et les commandes de gestion de cluster (CLUSTER INFO, CLUSTER NODES, CLUSTER MEET, CLUSTER FAILOVER) sont identiques. Un nœud Valkey peut participer à un cluster existant Redis — cependant, un cluster mixte Redis/Valkey n'est pas recommandé en production : les versions majeures peuvent introduire des différences de comportement sur les commandes internes. Migrer les nœuds un par un reste la voie sûre.

ACL (Access Control Lists) : le format des règles ACL est identique. Un fichier aclfile exporté depuis Redis (ACL SAVE) peut être rechargé dans Valkey. Les commandes ACL LIST, ACL SETUSER, ACL GETUSER fonctionnent de façon identique.

Keyspace notifications : la configuration notify-keyspace-events et les patterns de souscription (__keyevent@*__:set, etc.) sont identiques. Vos consumers pub/sub qui écoutent les événements keyspace n'ont pas à être modifiés.

Ce qui diffère : les modules Redis Stack propriétaires — RedisJSON, RediSearch, RedisTimeSeries, RedisBloom — ne sont pas disponibles dans Valkey. Des alternatives open source existent (FalkorDB pour le graph, d'autres implémentations de modules JSON), mais l'API n'est pas garantie identique. Si votre code appelle des commandes comme JSON.SET, FT.SEARCH ou TS.ADD, la migration directe n'est pas encore possible.

Configuration : les paramètres à vérifier lors du passage

La syntaxe de valkey.conf est identique à celle de redis.conf. Vous pouvez copier votre fichier de configuration existant sans réécriture. Quelques points méritent une vérification spécifique.

Chemins par défaut : Valkey utilise /etc/valkey/valkey.conf et /var/lib/valkey/ au lieu de /etc/redis/ et /var/lib/redis/. Si vous copiez votre configuration, mettez à jour les directives dir, logfile, pidfile et aclfile pour qu'elles pointent vers les chemins Valkey.

Nom du service systemd : le service s'appelle valkey (pas redis-server). Les commandes sont donc systemctl start valkey, systemctl enable valkey.

TLS : Valkey supporte TLS sur les connexions clientes (tls-port, tls-cert-file, tls-key-file, tls-ca-cert-file) de façon identique à Redis 6+. Si vous avez activé TLS dans Redis, la même configuration fonctionne dans Valkey sans modification de vos clients.

maxmemory et éviction : les politiques d'éviction (allkeys-lru, volatile-lru, allkeys-lfu, noeviction, etc.) sont identiques. Votre politique actuelle se transfère directement.

Bind et protection-mode : Valkey démarre en mode protégé par défaut (comme Redis), qui refuse les connexions non-loopback si aucun mot de passe n'est défini. Votre configuration de bind et requirepass (ou ACL) se transpose directement.

Bibliothèques clientes : ce que vous ne changez pas

C'est l'un des points forts de Valkey : aucune bibliothèque cliente ne nécessite de modification pour se connecter à Valkey. Le protocole étant identique, le client ne sait pas s'il parle à Redis ou à Valkey.

JavaScript / Node.js : ioredis, node-redis (redis npm), redis — tous fonctionnent. Changez uniquement l'hôte et le port dans votre configuration de connexion.

Python : redis-py (le paquet redis sur PyPI), aioredis — compatibles. La connexion Redis(host='valkey-host', port=6379) fonctionne sans autre changement.

PHP : phpredis (extension C), Predis (pure PHP) — compatibles. Aucun changement de code.

Java : Jedis, Lettuce, Redisson — compatibles. Adaptez uniquement les paramètres de connexion.

.NET : StackExchange.Redis — compatible. Même chaîne de connexion, hôte et port mis à jour.

Go : go-redis, rueidis — compatibles.

Si vous utilisez une abstraction comme Laravel Cache (CACHE_DRIVER=redis), Django django-redis, Spring Data Redis ou Symfony Cache avec l'adaptateur Redis, ces couches d'abstraction se reconnectent à Valkey sans modification de code — seul le DSN de connexion change.

Quand choisir Valkey plutôt que Redis

Valkey s'impose naturellement dans plusieurs contextes. Les hébergeurs et revendeurs sont les premiers concernés : l'AGPLv3 de Redis impose de publier le code de tout service qui l'intègre, une contrainte incompatible avec la plupart des offres commerciales. Les nouveaux projets n'ont aucune raison de partir sur Redis : Valkey est le paquet par défaut des distributions récentes, la performance est supérieure et la licence est sans restriction. Les stacks RGPD et souveraineté bénéficient aussi de la gouvernance Linux Foundation, plus neutre qu'un éditeur privé. Enfin, si vous n'utilisez pas les modules propriétaires Redis Stack (RedisJSON, RediSearch, RedisTimeSeries), la migration est transparente — toutes vos librairies et configurations existantes restent valides.

Migrer de Redis vers Valkey en 4 étapes

  1. Vérifier la compatibilité

    Exécutez redis-cli INFO server | grep redis_version pour identifier votre version actuelle. Listez vos dépendances et confirmez qu'aucune n'utilise les modules Redis Stack (RedisJSON, RediSearch, RedisTimeSeries). Si c'est le cas, la migration directe n'est pas encore recommandée. Vérifiez aussi vos scripts Lua : redis.call() reste compatible, mais repérez tout appel à des commandes de module propriétaire.

  2. Installer Valkey

    Sur Ubuntu 24.04+ et Debian 13, Valkey est disponible dans les dépôts natifs : apt install valkey. Sur Fedora 40+, dnf install valkey. Sur les distributions plus anciennes, ajoutez le dépôt officiel Valkey avant l'installation. Le paquet installe également valkey-cli, valkey-benchmark et valkey-server — des outils fonctionnellement identiques à leurs homologues Redis.

  3. Copier la configuration et les données

    La syntaxe de configuration est identique entre Redis et Valkey. Copiez votre fichier et mettez à jour les chemins : cp /etc/redis/redis.conf /etc/valkey/valkey.conf, puis adaptez dir, logfile, pidfile pour pointer vers /var/lib/valkey/ et /var/log/valkey/. Exportez vos données Redis via un snapshot RDB (redis-cli --rdb /tmp/dump.rdb) puis placez le fichier dans le répertoire dir de Valkey. Si vous utilisez l'AOF, copiez également le fichier .aof dans ce même répertoire.

  4. Démarrer Valkey et valider

    Démarrez le service (systemctl start valkey), puis validez avec valkey-cli ping — vous devez obtenir PONG. Vérifiez que vos données sont présentes avec valkey-cli DBSIZE et comparez avec le nombre de clés de votre ancienne instance Redis. Testez votre application sur quelques requêtes représentatives avant de couper Redis. Si vous utilisez des ACL, rechargez votre fichier ACL exporté avec valkey-cli ACL LOAD. Toutes vos bibliothèques clientes (ioredis, Predis, redis-py) sont compatibles sans modification — changez uniquement l'hôte de connexion.

Valkey inclut valkey-benchmark, fonctionnellement identique à redis-benchmark. Avant toute migration en production, validez les performances sur votre matériel avec valkey-benchmark -n 100000 -q. Cette commande envoie 100 000 requêtes et affiche le résumé des ops/sec pour chaque type de commande. Résultat attendu : des chiffres supérieurs à votre ancienne instance Redis sur le même serveur. Pour tester spécifiquement les pipelining et RESP3, ajoutez le flag --pipe ou -3 selon votre version de client.

Ce qui ne change pas lors d'une migration Redis → Valkey

  • Toutes vos bibliothèques clientes (ioredis, redis-py, Predis, Jedis, StackExchange.Redis, go-redis) — aucune modification de code
  • Le protocole de communication : RESP2 et RESP3 sont intégralement supportés
  • Vos fichiers de persistance RDB et AOF — lisibles par Valkey sans conversion
  • La syntaxe de redis.conf — copiez le fichier et mettez à jour les chemins
  • Vos scripts Lua — redis.call() fonctionne, valkey.call() est en plus disponible
  • Vos règles ACL exportées depuis Redis — rechargées directement dans Valkey
  • La configuration TLS, les politiques d'éviction mémoire et les keyspace notifications
  • Les commandes redis-cli habituelles — valkey-cli les accepte toutes

Et vos autres bases de données sur VPS ?

Valkey n'est qu'une pièce de votre stack de données. Si vous hébergez également une base relationnelle, consultez notre guide sur MariaDB sur VPS : configuration, performances et réplication. Pour le moteur de recherche full-text, Elasticsearch sur VPS couvre l'installation, le tuning mémoire et les index en production. Chaque composant mérite une configuration adaptée à votre charge — nos VPS Cloud vous donnent la maîtrise complète de votre environnement.

Déployez Valkey sur un VPS maîtrisé

Nos VPS Cloud vous donnent un accès root complet pour installer Valkey, configurer votre stack de données et optimiser les performances selon vos besoins réels. Pas de surcouche propriétaire, pas de contrainte de licence.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet