Aller au contenu principal

Redis, Valkey, KeyDB : l'écosystème cache

· 5 minutes de lecture
Kévin.D

En mars 2024, Redis Ltd a changé la licence de Redis pour passer sous BSL (Business Source License) et SSPL à partir de la version 7.4. Pour tous ceux qui utilisaient Redis comme brique open source dans leur infrastructure, le signal était clair : il fallait anticiper.

Deux alternatives ont rapidement émergé. Valkey, porté par la Linux Foundation avec le soutien d'AWS, Google et Oracle, est un fork de Redis 7.2.4 sous licence BSD 3-Clause. KeyDB existe depuis 2019, initialement créé par EQ Alpha puis passé chez Snap avant de revenir à la communauté sous Apache 2.0. Les deux conservent une compatibilité totale avec le protocole Redis.

Chez Kokiris, on utilise les trois en production. Voilà ce qu'on observe.

Comparaison rapide

RedisValkeyKeyDB
LicenceBSL / SSPL (v7.4+)BSD 3-ClauseApache 2.0
GouvernanceRedis Ltd (privé)Linux FoundationCommunauté
ArchitectureSingle-thread + I/O multi-threadSingle-thread + I/O asynchrone multi-coreMulti-thread natif
RéplicationPrimary / ReplicaPrimary / ReplicaPrimary / Replica + Master-Master
Compatibilité protocoleRedis 7.2Redis 7.2
PHP session.save_handlerOuiOuiOui

Les trois solutions sont compatibles avec la gestion des sessions PHP via session.save_handler. Il suffit de pointer session.save_path vers le bon hôte et port aucun changement de configuration applicatif n'est nécessaire lors d'une migration entre les trois.

Un point à retenir sur la migration vers Valkey : les fichiers de données Redis 7.4+ ne sont pas compatibles. Une migration depuis Redis 7.2.x reste propre, par réplication ou copie de snapshot RDB.

L'atout de KeyDB : la réplication master-master

KeyDB propose une fonctionnalité que Redis et Valkey n'ont pas nativement : la réplication active-active. Concrètement, deux nœuds peuvent accepter des lectures et des écritures simultanément. En cas de conflit, c'est la règle "dernière écriture gagne" avec horodatage qui s'applique.

Cela simplifie les architectures haute disponibilité : pas besoin de promouvoir un replica en cas de panne, les deux nœuds sont déjà actifs. C'est un avantage réel sur des workloads avec forte concurrence d'écriture répartie sur plusieurs serveurs.

Compatibilité CMS

CMSRedisValkeyKeyDB
WordPressplugin redis-cachecompatiblePartiel (non officiel)
Magento / Adobe Commerceoui (≤ 7.2)officiel depuis 2.4.5-p13non supporté
PrestaShopmodule tiersmodule tiersmodule tiers
Drupalmodule redismodule redisnon documenté
Joomlanatifnon documenté officiellementnon documenté officiellement

Pour Magento, Valkey est le choix recommandé par Adobe depuis la 2.4.5-p13, et devient le défaut à partir de la 2.4.9. Pour WordPress, le plugin redis-cache (v2.7.0) fonctionne de manière transparente avec Valkey grâce à la compatibilité de protocole. Joomla supporte Redis nativement ; Valkey et KeyDB n'y sont pas encore documentés officiellement mais fonctionnent via cette même compatibilité.

Ce que les benchmarks récents montrent

En charge PHP/WordPress single-thread le cas le plus représentatif d'un hébergement web les tests de centminmod (juin 2025, 4 vCPU / 16 Go RAM) donnent :

SolutionThroughput (ops/s)Pages servies/jour (estimé)
Redis 8.0.216 605~143 M
Valkey 8.1.116 561~143 M
KeyDB 6.3.414 054~121 M

Redis et Valkey sont pratiquement identiques dans ce contexte. L'écart se creuse uniquement en charge multi-thread intensive (Redis 125 000 ops/s, KeyDB 114 000, Valkey 98 000) scénario moins courant sur des stacks PHP classiques.

Sur des workloads plus lourds, sur une instance 8 vCPU, Valkey 8.1 dépasse Redis 8.0 selon les tests publiés par DragonflyDB en mai 2025 : 947 000 GET/s pour Valkey contre 821 000 pour Redis (+15 %), avec une latence p99 en GET de 0,28 ms contre 0,95 ms pour Redis.

Côté mémoire, une analyse de Momento publiée en février 2026 sur un jeu de 50 millions d'entrées montre que Valkey 8.1 consomme 3,77 Go contre 4,83 Go pour Redis 8.2, soit 28 % d'économie un avantage non négligeable à grande échelle.

Notre position

Les trois solutions sont disponibles chez Kokiris. Le bon choix dépend du contexte.

Valkey s'impose naturellement sur les projets Magento dès la 2.4.5-p13 et sur WordPress, avec une licence BSD sans ambiguïté et un comportement identique à Redis 7.2. Les benchmarks récents confirment qu'il tient la comparaison sur les charges courantes, et la dépasse sur les instances plus musclées.

KeyDB est pertinent sur des architectures nécessitant de l'écriture simultanée sur plusieurs nœuds, grâce à sa réplication master-master. Redis 8.0 conserve un avantage sur les fonctionnalités avancées comme les vector sets (IA/ML), mais sa licence complique l'usage dans un contexte d'hébergement mutualisé.

Pour les CMS où le support de KeyDB n'est pas encore officiel Magento, Drupal Redis ou Valkey restent les options adaptées.

Sources