Valkey 9.1

Communauté Valkey a annoncé la sortie Valkey 9.1 — une nouvelle version stable d'un système de stockage de données clé-valeur open source (licence BSD) haute performance, prenant en charge divers cas d'utilisation, tels que la mise en cache et les files d'attente de messages, et pouvant également servir de base de données principale. Ce projet est soutenu par Linux Fondation, qui assure sa disponibilité continue en tant que code source ouvert.


Le projet est une version dérivée de Redis et a été créé après modifications de son autorisation.

Cette version inclut de nouvelles fonctionnalités et des améliorations en matière de sécurité, de surveillance, de performances et d'efficacité des outils. Plus de 80 personnes ont contribué à son développement.

Changements majeurs

  • Lua a été déplacé dans un module séparé.
    Dans Valkey 9.1, le moteur de script Lua a été séparé du serveur principal et déplacé vers un module distinct. Cette séparation réduit la surface d'attaque du noyau Valkey et permet aux administrateurs de désactiver complètement Lua si aucun script n'est utilisé. Pour faciliter l'identification des moteurs de script chargés dans le système, la commande INFO comporte désormais une nouvelle section de réponse : « Moteurs de script ».

  • Nouvelles corrections de sécurité.
    La version stable 9.1.0 corrige trois vulnérabilités : une vulnérabilité d'utilisation après libération de mémoire dans le mécanisme de déverrouillage du client, un accès mémoire invalide dans la commande 7RESTORE et une vulnérabilité d'utilisation après libération de mémoire lors de la synchronisation complète pendant l'exécution de code Lua/fonction avec `execution yield`. Ces vulnérabilités sont référencées CVE-2026-23479, CVE-2026-25243 et CVE-2026-23631.

  • ACL au niveau de la base de données.
    Un système de contrôle d'accès au niveau de la base de données a été ajouté. Cela permet une gestion plus fine des permissions dans les configurations multi-utilisateurs et va au-delà des règles d'accès globales pour l'ensemble de l'instance Valkey.

  • Rechargement automatique des certificats TLS.
    Valkey 9.1 prend désormais en charge le rechargement automatique des certificats TLS. Pour les administrateurs, cela se traduit par une réduction des interventions manuelles lors du renouvellement des certificats et une gestion plus simple des installations sécurisées.

  • Nouvelle équipe HGETDEL.
    Cette commande récupère et supprime de manière atomique un ou plusieurs champs d'une structure de hachage. Elle est particulièrement utile dans des scénarios tels que les files d'attente ou la consommation ponctuelle de données, où il était auparavant nécessaire de combiner HGET et HDEL via une transaction.

  • Nouvelle équipe MSETEX.
    MSETEX permet de définir plusieurs clés avec une durée de vie commune à l'aide d'une seule commande. Auparavant, cette opération nécessitait plusieurs appels à SETEX ou une combinaison d'appels SET et EXPIRE via le pipeline. La nouvelle commande réduit le nombre d'appels et simplifie le code standard pour les données de session et les données temporaires.

  • Nouvelle équipe CLUSTERSCAN.
    Les clusters disposent désormais d'une commande unique pour analyser les clés sur tous les nœuds. Auparavant, les clients devaient exécuter manuellement la commande SCAN sur chaque nœud et fusionner les résultats. CLUSTERSCAN simplifie les bibliothèques clientes, les outils d'administration et les tâches opérationnelles telles que la recherche de clés par modèle ou par type dans l'ensemble du cluster.

  • Optimisation de la consommation de mémoire des chaînes de caractères.
    Il a été démontré que l'optimisation des pointeurs internes pour les chaînes de caractères inférieures à 128 octets permet de réduire la consommation de mémoire jusqu'à 20 %. Ceci est particulièrement important pour les charges de travail de mise en cache classiques qui stockent un grand nombre de petites valeurs.

  • Moins de mémoire pour les ensembles triés.
    Les optimisations des listes à sauts réduisent la consommation de mémoire des ensembles triés jusqu'à 10 %. Les opérations sur les ensembles triés, y compris les requêtes telles que ZRANGEBYSCORE et ZRANGEBYLEX, ont également été accélérées.

  • Travail accéléré grâce au réassemblage.
    La réallocation interne des tables de hachage, qui se produit souvent lorsque l'espace de clés augmente, a été optimisée afin de réduire la latence. Les notes de version mentionnent également une réduction des pics de latence grâce à la libération incrémentale des pages.

  • Modèle de gestion des E/S amélioré.
    La version candidate 9.1.0-rc2 a repensé le modèle d'interaction des threads d'E/S en utilisant des files d'attente sans verrou. Les notes de version indiquent une augmentation du débit de 8 à 17 %.

  • Accélérez les opérations GET et SET.
    Valkey utilise désormais l'horloge matérielle par défaut lorsque cela est possible, réduisant ainsi la surcharge liée aux appels système temporels. Le projet revendique un gain de performance global pouvant atteindre 3 % pour les opérations GET et SET.

  • Enlèvements en vrac plus rapides.
    Valkey suspend désormais temporairement le redimensionnement interne des tables de hachage pendant les opérations telles que SREM, ZREM et HDEL afin d'éviter un rehachage inutile et d'accélérer la suppression en masse des éléments.

  • Création de répliques plus efficace pendant l'AOF.
    Lors de la création d'une réplique avec AOF activé, le fichier RDB résultant est désormais réutilisé au lieu de générer un nouvel instantané pour le fichier de base AOF initial. Cela devrait réduire la charge inutile lors du déploiement de répliques.

  • Améliorations apportées à valkey-cli et valkey-benchmark.
    La prise en charge de la migration atomique des slots a été ajoutée à valkey-cli via le paramètre `--cluster-use-atomic-slot-migration` pour les opérations `--cluster rebalance` et `--cluster reshard`. La sortie de distribution RPS a été ajoutée à valkey-benchmark, ainsi que les paramètres `--warmup` et `--duration`, ce qui simplifie les tests de performance.

Séparément avec Valkey 9.1 dans l'écosystème Des projets connexes sont mis en avant: Administrateur Valkey pour la gestion visuelle des clusters, Recherche Valkey 1.2 avec recherche en texte intégral, filtres numériques, étiquettes et recherche vectorielle, ainsi qu'une bibliothèque cliente Valkey GLIDE.

Valkey 9.1 est une mise à jour importante du point de vue des performances : moins de mémoire sur les structures communes, moins de latence lors des reconstructions internes, de nouvelles commandes pour les clusters et les données temporaires, et un modèle de sécurité plus précis pour les installations de production.

Source: linux.org.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster