Komunita Valkey oznámilo vydání Valkey 9.1 — nové stabilní verze vysoce výkonného úložiště dat typu „klíč-hodnota“ s otevřeným zdrojovým kódem (licence BSD), které podporuje různé scénáře použití, jako je cachování a fronty zpráv, a může také fungovat jako hlavní databáze. Projekt je podporován nadací Linux, což zaručuje jeho trvalou dostupnost v podobě otevřeného zdrojového kódu.
Projekt je fork Redis a byl vytvořen po změnách v jeho licencování.
Toto vydání zahrnuje nové funkce, vylepšení v oblasti bezpečnosti, monitorování, výkonnosti a efektivity nástrojů. Na přípravě vydání se podílelo více než 80 osob.
Hlavní změny
Lua byla vyčleněna do samostatného modulu.
Ve Valkey 9.1 je scriptovací engine Lua oddělen od hlavního serveru a přesunut do samostatného modulu. Toto oddělení snižuje útočnou plochu jádra Valkey a umožňuje správcům úplně deaktivovat Lua, pokud se skripty na něm nepoužívají. Aby bylo jednodušší pochopit, které scriptovací enginy jsou v systému načteny, tým INFO dostal novou část odpovědi — Scriptovací Enginy.Nové bezpečnostní opravy.
Ve stabilním vydání 9.1.0 byly opraveny tři zranitelnosti: use-after-free v mechanismu odblokování klienta, nesprávný přístup k paměti v příkazu 7RESTORE a use-after-free během plné synchronizace při provádění Lua/function kódu s uvolněním provádění. V poznámkách jsou označeny jako CVE-2026-23479, CVE-2026-25243 a CVE-2026-23631.ACL na úrovni databáze.
Byl přidán systém řízení přístupu na úrovni jednotlivých databází. To umožňuje jemněji rozdělit práva v multiuživatelských konfiguracích a neomezovat se pouze na globální pravidla přístupu na úrovni celé instance Valkey.Automatické obnovení TLS certifikátů.
Valkey 9.1 získal podporu automatického obnovení TLS certifikátů. Pro správce to znamená méně manuálních operací při rotaci certifikátů a pohodlnější provoz zabezpečených instalací.Nový příkaz HGETDEL.
Příkaz atomicky získává a odstraňuje jedno nebo více polí z hash struktury. Praktický smysl — skripty podobné frontě nebo jednorázové spotřebě dat, kde bylo dříve nutné kombinovat HGET a HDEL přes transakci.Nový příkaz MSETEX.
MSETEX umožňuje jedním příkazem nastavit více klíčů se společnou dobou životnosti. Dříve byla pro tento scénář potřebná klientská volání SETEX nebo kombinace SET a EXPIRE prostřednictvím pipeline. Nový příkaz snižuje počet volání a zjednodušuje typický kód pro relace a dočasná data.Nový příkaz CLUSTERSCAN.
V clusterech byla zavedena jednotná příkaz pro skenování klíčů na všech uzlech. Dříve si museli klienti samostatně provádět SCAN na každém uzlu a agregovat výsledky. CLUSTERSCAN zjednodušuje klientské knihovny, adminské nástroje a provozní úkoly, jako je vyhledávání klíčů podle vzoru nebo typu v celém clusteru.Optimalizace spotřeby paměti řetězci.
Díky interním optimalizacím ukazatelů pro řetězce kratší než 128 bytů je ohlášeno snížení spotřeby paměti až o 20%. To je obzvlášť důležité pro typické cache zátěže, kde se uchovává velké množství malých hodnot.Méně paměti pro sorted sets.
Optimalizace skiplist struktur snižují spotřebu paměti pro sorted set až o 10%. Navíc byly urychleny operace s tříděnými množinami, včetně dotazů typu ZRANGEBYSCORE a ZRANGEBYLEX.Zrychlená práce s rehashingem.
Interní redistribuce hash tabulek, která se často projevuje při růstu keyspace, byla optimalizována tak, aby se snížily latence. V poznámkách k vydání je také zmíněno snížení latence spike díky inkrementálnímu uvolňování stránek.Vylepšený model I/O threading.
V release candidate 9.1.0-rc2 byla znovu navržena interakce mezi vlákny vstupu/výstupu s použitím lock-free queues. V poznámkách je uvedeno zvýšení propustnosti o 8–17%.Zrychlení GET a SET.
Valkey nyní ve výchozím nastavení používá hardwarové hodiny tam, kde je to možné, čímž se snižují režijní náklady na systémové volání spojené s časem. Projekt uvádí zlepšení výkonu GET a SET až o 3% celkově.Rychlejší hromadné mazání.
Při operacích jako SREM, ZREM a HDEL nyní Valkey dočasně pozastavuje vnitřní změny velikosti hash tabulek, aby se vyhnul zbytečnému rehashingu a urychlil hromadné odstraňování prvků.Účinnější vytváření replik při AOF.
Při vytváření repliky se zapnutým AOF se nyní znovu používá získaný RDB soubor místo generování nové snímky pro počáteční AOF base file. To by mělo snížit nadbytečné zatížení při nasazování replik.Vylepšení valkey-cli a valkey-benchmark.
Do valkey-cli byla přidána podpora atomové migrace slotů přes parametr —cluster-use-atomic-slot-migration pro operace —cluster rebalance a —cluster reshard. V valkey-benchmark byl přidán výstup distribuce RPS, a také parametry —warmup a —duration, což činí testování výkonu lépe spravovatelné.
Samostatně spolu s Valkey 9.1 v ekosystému se prosazují související projekty: Valkey Admin pro vizuální správu clusterů, Valkey Search 1.2 s fulltextovým vyhledáváním, číselnými filtry, štítky a vektorovým vyhledáváním, stejně jako klientská knihovna Valkey GLIDE.
Valkey 9.1 — významná aktualizace z hlediska provozu: méně paměti na typických strukturách, méně zpoždění při vnitřních přestavbách, nové příkazy pro clustery a časová data, a také preciznější bezpečnostní model pro produkční instalace.
Zdroj: linux.org.ru
