Valkey 9.1

Die Community Valkey kĂŒndigte die Veröffentlichung an Valkey 9.1 — einer neuen stabilen Version eines hochleistungsfĂ€higen SchlĂŒssel-Wert-Speichers mit offenem Quellcode (BSD-Lizenz), der verschiedene Nutzungsszenarien unterstĂŒtzt, wie z. B. Caching und Message Queues, und auch als primĂ€re Datenbank fungieren kann. Das Projekt wird von der Linux Foundation unterstĂŒtzt, was seine stĂ€ndige VerfĂŒgbarkeit als Open Source garantiert.


Das Projekt ist ein Fork von Redis und wurde nach Änderungen in seiner Lizenzierung.

Dieses Release enthÀlt neue Funktionen, Verbesserungen in Bezug auf Sicherheit, Monitoring, Leistung und Effizienz des Tools. An der Vorbereitung des Releases waren mehr als 80 Personen beteiligt.

Wesentliche Änderungen

  • Lua wurde in ein separates Modul ausgelagert.
    In Valkey 9.1 wurde die Lua-Skriptsprache vom Hauptserver getrennt und in ein eigenstĂ€ndiges Modul verschoben. Diese Trennung reduziert die AngriffsflĂ€che des Valkey-Kerns und ermöglicht es Administratoren, Lua vollstĂ€ndig abzuschalten, wenn Skripte darin nicht verwendet werden. Um es einfacher zu machen, zu verstehen, welche Skript-Engines im System geladen sind, erhielt der Befehl INFO einen neuen Abschnitt in der Antwort — Scripting Engines.

  • Neue Sicherheitsupdates.
    Die stabile Version 9.1.0 enthĂ€lt Behebungen fĂŒr drei SicherheitsanfĂ€lligkeiten: use-after-free im Client-Unlock-Mechanismus, unzulĂ€ssiger Speicherzugriff im Befehl 7RESTORE sowie use-after-free wĂ€hrend der vollstĂ€ndigen Synchronisierung der Lua-/function-Codes mit AusfĂŒhrungsĂŒbergabe. In den Release-Notizen sind sie als CVE-2026-23479, CVE-2026-25243 und CVE-2026-23631 aufgefĂŒhrt.

  • Datenbankebene ACL.
    Ein Zugangskontrollsystem auf Ebene einzelner Datenbanken wurde hinzugefĂŒgt. Dies ermöglicht eine feinere Aufteilung der Berechtigungen in Mehrbenutzerkonfigurationen und beschrĂ€nkt sich nicht nur auf globale Zugriffsregeln auf Ebene des gesamten Valkey-Instances.

  • Automatisches Neuladen von TLS-Zertifikaten.
    Valkey 9.1 erhielt die UnterstĂŒtzung fĂŒr automatisches Neuladen von TLS-Zertifikaten. FĂŒr Administratoren bedeutet dies weniger manuelle Operationen bei der Rotation von Zertifikaten und eine bequemere Nutzung von gesicherten Installationen.

  • Neuer Befehl HGETDEL.
    Der Befehl erhĂ€lt atomar ein oder mehrere Felder aus der Hash-Struktur und entfernt sie. Der praktische Nutzen besteht in Skripten, die sich wie Warteschlangen oder einmalige DatenverbrĂ€uche verhalten, bei denen zuvor HGET und HDEL ĂŒber eine Transaktion kombiniert werden mussten.

  • Neues MSETEX-Kommando.
    MSETEX ermöglicht es, mehrere SchlĂŒssel mit einer gemeinsamen Lebensdauer in einem einzigen Aufruf zu setzen. FrĂŒher waren dafĂŒr mehrere SETEX-Aufrufe oder eine Kombination von SET und EXPIRE ĂŒber die Pipeline erforderlich. Das neue Kommando reduziert die Anzahl der Aufrufe und vereinfacht den typischen Code fĂŒr Sessions und temporĂ€re Daten.

  • Neues CLUSTERSCAN-Kommando.
    In Clustern gibt es jetzt ein einheitliches Kommando zum Scannen von SchlĂŒsseln ĂŒber alle Knoten. FrĂŒher mussten Kunden selbst SCAN auf jedem Knoten ausfĂŒhren und die Ergebnisse zusammenfĂŒhren. CLUSTERSCAN vereinfacht Client-Bibliotheken, Admin-Tools und betriebliche Aufgaben wie das Suchen von SchlĂŒsseln nach Mustern oder Typen im gesamten Cluster.

  • Optimierung des Speicherverbrauchs durch Strings.
    Durch interne Optimierungen von Zeigern fĂŒr Strings, die kĂŒrzer als 128 Byte sind, wird eine Reduzierung des Speicherverbrauchs um bis zu 20 % vermeldet. Dies ist besonders wichtig fĂŒr typische Cache-Lasten, bei denen eine große Anzahl kleiner Werte gespeichert wird.

  • Weniger Speicher fĂŒr Sorted Sets.
    Optimierungen der Skiplist-Strukturen reduzieren den Speicherverbrauch fĂŒr Sorted Sets um bis zu 10 %. ZusĂ€tzlich wurden die Operationen auf sortierten Mengen beschleunigt, einschließlich Anfragen wie ZRANGEBYSCORE und ZRANGEBYLEX.

  • Beschleunigte Arbeit mit Rehashing.
    Die interne Neuverteilung von Hash-Tabellen, die hÀufig beim Wachstum des Keyspace auftritt, wurde optimiert, um Verzögerungen zu reduzieren. In den Versionshinweisen wird auch eine Verringerung der Latenzspitzen durch inkrementelle Seitenfreigabe erwÀhnt.

  • Verbessertes I/O-Threading-Modell.
    Im Release-Kandidaten 9.1.0-rc2 wurde das Modell der Interaktion von I/O-Threads unter Verwendung von lockfreien Warteschlangen ĂŒberarbeitet. In den Notizen wird eine Steigerung der Durchsatzrate um 8–17 % angegeben.

  • Beschleunigung von GET und SET.
    Valkey verwendet jetzt standardmĂ€ĂŸig Hardware-Uhren, wo immer dies möglich ist, was die Überkopfkosten von systemeigenen Zeitaufrufen senkt. Das Projekt gibt ein Leistungsplus von bis zu 3 % fĂŒr GET und SET insgesamt an.

  • Schnellere Massenlöschungen.
    Bei Operationen wie SREM, ZREM und HDEL pausiert Valkey jetzt vorĂŒbergehend die interne GrĂ¶ĂŸenanpassung von Hash-Tabellen, um unnötiges Rehashing zu vermeiden und das massenhafte Löschen von Elementen zu beschleunigen.

  • Effizientere Replikation bei AOF.
    Beim Erstellen eines Replikats mit aktivierter AOF wird nun die erhaltene RDB-Datei wiederverwendet, anstatt einen neuen Snapshot fĂŒr die anfĂ€ngliche AOF-Basisdatei zu generieren. Dies sollte die zusĂ€tzliche Belastung beim Bereitstellen von Replikaten verringern.

  • Verbesserungen von valkey-cli und valkey-benchmark.
    In valkey-cli wurde die UnterstĂŒtzung fĂŒr die atomare Slot-Migration ĂŒber den Parameter —cluster-use-atomic-slot-migration fĂŒr die Operationen —cluster rebalance und —cluster reshard hinzugefĂŒgt. In valkey-benchmark wurden die Ausgabe der RPS-Verteilung sowie die Parameter —warmup und —duration hinzugefĂŒgt, was das Performance-Testing besser steuerbar macht.

Separat zusammen mit Valkey 9.1 in der Ecosystem werden verwandte Projekte gefördert: Valkey Admin zur visuellen Verwaltung von Clustern, Valkey Search 1.2 mit Volltextsuche, numerischen Filtern, Tags und Vektor-Suche, sowie die Client-Bibliothek Valkey GLIDE.

Valkey 9.1 ist ein bemerkenswertes Update aus betrieblicher Sicht: weniger Speicher bei typischen Strukturen, niedrigere Latenzen bei internen Umstrukturierungen, neue Befehle fĂŒr Cluster und temporĂ€re Daten sowie ein saubereres Sicherheitsmodell fĂŒr Produktionsinstallationen.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4