Gemeenschap Valkey heeft de lancering aangekondigd Valkey 9.1 — van de nieuwe stabiele versie van een hoogpresterende key-value datastore met open source (BSD-licentie), die verschillende gebruiksscenario's ondersteunt, zoals caching en messaging queues, en ook kan fungeren als primaire database. Het project wordt ondersteund door de Linux Foundation, wat de continue beschikbaarheid in open source garandeert.
Het project is een fork van Redis en is gemaakt na wijzigingen in de licentie.
Deze release bevat nieuwe functies, verbeteringen in beveiliging, monitoring, prestaties en efficiëntie van de toolbox. Meer dan 80 mensen hebben deelgenomen aan de voorbereiding van de release.
Belangrijkste wijzigingen
Lua is naar een aparte module verplaatst.
In Valkey 9.1 is de Lua-scriptengine gescheiden van de hoofdserver en overgebracht naar een zelfstandige module. Deze scheiding vermindert de aanvallingsoppervlakte van de Valkey-kernel en biedt beheerders de mogelijkheid om Lua volledig uit te schakelen wanneer scripts niet worden gebruikt. Om het makkelijker te maken te begrijpen welke scriptengines in het systeem zijn geladen, heeft het INFO-commando een nieuw gedeelte in de respons gekregen — Scripting Engines.Nieuwe beveiligingscorrecties.
De stabiele release 9.1.0 bevat correcties voor drie kwetsbaarheden: use-after-free in het mechanisme van het ontgrendelen van clients, onjuist geheugentoegang in de 7RESTORE-opdracht, en use-after-free bij volledige synchronisatie tijdens de uitvoering van Lua/function-code met uitvoeringstoewijzing. Ze worden genoteerd als CVE-2026-23479, CVE-2026-25243 en CVE-2026-23631.Database-niveau ACL.
Een toegangscontrolesysteem op het niveau van afzonderlijke databases is toegevoegd. Dit stelt gebruikers in staat om de rechten in multi-user configuraties verfijnd te scheiden en niet alleen te vertrouwen op wereldwijde toegangsregels op het niveau van de hele Valkey-instantie.Automatische herstart van TLS-certificaten.
Valkey 9.1 ondersteunt nu automatische herstart van TLS-certificaten. Voor beheerders betekent dit minder handmatige acties bij het wisselen van certificaten en een handigere werking van beveiligde installaties.Nieuw commando HGETDEL.
Het commando haalt atomair één of meerdere velden uit een hashstructuur en verwijdert deze. De praktische betekenis is scenario's die lijken op een wachtrij of eenmalig gebruik van gegevens, waar eerder HGET en HDEL via een transactie moesten worden gecombineerd.Nieuw commando MSETEX.
MSETEX stelt je in staat om met één commando meerdere sleutels met een gemeenschappelijke levensduur in te stellen. Voor dit scenario waren eerder meerdere aanroepen van SETEX of een koppeling van SET en EXPIRE via een pipeline vereist. Het nieuwe commando vermindert het aantal aanroepen en vereenvoudigt het typische code voor sessie- en tijdelijke gegevens.Nieuw commando CLUSTERSCAN.
In clusters is er nu een enkele commando om sleutels over alle knooppunten te scannen. Klanten moesten voorheen SCAN zelf op elk knooppunt uitvoeren en de resultaten samenvoegen. CLUSTERSCAN vereenvoudigt de klantbibliotheken, admin-tools en operationele taken zoals het zoeken naar sleutels op basis van een patroon of type in het hele cluster.Optimalisatie van geheugenverbruik door strings.
Door interne optimalisaties van pointers voor strings korter dan 128 bytes is het geheugenverbruik met 20% verminderd. Dit is vooral belangrijk voor typische cachebelastingen, waar een groot aantal kleine waarden wordt opgeslagen.Minder geheugen voor gesorteerde sets.
Optimalisaties van skiplist-structuren verminderen het geheugenverbruik voor gesorteerde sets met 10%. Bovendien zijn de bewerkingen op gesorteerde verzamelingen versneld, inclusief aanvragen zoals ZRANGEBYSCORE en ZRANGEBYLEX.Versnelde werking van rehashing.
De interne herverdeling van hashtabellen, die vaak optreedt bij groei van het keyspace, is geoptimaliseerd om latencies te verminderen. In de release-opmerkingen is ook een afname van latency spikes vermeld door incrementele pagina-releases.Verbeterd model voor I/O threading.
In de release kandidaat 9.1.0-rc2 is het model voor interactie tussen input-output threads herschreven met behulp van lock-free queues. In de opmerkingen is een toename van de doorvoer met 8-17% vermeld.Versnelling van GET en SET.
Valkey gebruikt nu standaard hardwareklokken waar mogelijk, wat de overhead van systeemoproepen die met tijd te maken hebben vermindert. Het project meldt een prestatieverbetering van GET en SET van tot 3% in het algemeen.Snellere massale verwijderingen.
Bij bewerkingen zoals SREM, ZREM en HDEL pauzeert Valkey nu tijdelijk de interne wijziging van de grootte van hash-tabellen, om onnodig rehashing te vermijden en massaal verwijderen van elementen te versnellen.Efficiënter repliceren met AOF.
Bij het maken van een replicaat met ingeschakelde AOF wordt nu het ontvangen RDB-bestand hergebruikt in plaats van een nieuwe snapshot te genereren voor het initiële AOF-basebestand. Dit zou de extra belasting tijdens de implementatie van replicaten moeten verminderen.Verbeteringen aan valkey-cli en valkey-benchmark.
In valkey-cli is ondersteuning voor atomic slot migration toegevoegd via de parameter —cluster-use-atomic-slot-migration voor de bewerkingen —cluster rebalance en —cluster reshard. In valkey-benchmark is de uitvoer van RPS-distributie toegevoegd, evenals de parameters —warmup en —duration, wat het prestatietesten beheersbaarder maakt.
Apart samen met Valkey 9.1 in het ecosysteem worden gerelateerde projecten gepromoot: Valkey Admin voor visueel beheer van clusters, Valkey Search 1.2 met volledige tekstzoekfunctie, numerieke filters, tags en vectorzoekfunctie, en ook een clientbibliotheek Valkey GLIDE.
Valkey 9.1 is een significante update vanuit operationeel perspectief: minder geheugen op typische structuren, minder vertraging bij interne herschikkingen, nieuwe opdrachten voor clusters en tijdelijke gegevens, en een nettere beveiligingsmodel voor productie-installaties.
Bron: linux.org.ru
