Közösség Valkey bejelentette a megjelenést Valkey 9.1 — egy nagy teljesítményű, nyílt forráskódú (BSD licenccel rendelkező) kulcs-érték adattároló új, stabil verziója, amely különféle felhasználási eseteket támogat, például gyorsítótárazást és üzenetsorokat, és elsődleges adatbázisként is működhet. A projektet a következők támogatják: Linux Alapítvány, amely biztosítja a folyamatos elérhetőségét nyílt forráskódként.
A projekt a Redis egy elágazása, és a következő után jött létre: változások az engedélyében.
Ez a kiadás új funkciókat, biztonsági, monitorozási, teljesítménybeli és eszközhatékonysági fejlesztéseket tartalmaz. A kiadáshoz több mint 80 ember járult hozzá.
Nagy változások
A Lua egy külön modulba került.
A Valkey 9.1-es verziójában a Lua szkriptmotort elválasztották a fő szervertől, és egy külön modulba helyezték át. Ez az elkülönítés csökkenti a Valkey mag támadási felületét, és lehetővé teszi a rendszergazdák számára a Lua teljes letiltását, ha a szkripteket nem használják. Annak érdekében, hogy könnyebben megérthető legyen, mely szkriptmotorok vannak betöltve a rendszerben, az INFO parancs mostantól egy új válaszrésszel rendelkezik: Szkriptmotorok.Új biztonsági javítások.
A stabil 9.1.0-s kiadás három sebezhetőség javítását tartalmazza: a kliens feloldási mechanizmusában fellépő „use-after-free” hiba, az érvénytelen memória-hozzáférés a 7RESTORE parancsban, valamint a Lua/függvénykód végrehajtása közbeni teljes szinkronizáció során fellépő „use-after-free” hiba végrehajtási yielddel. Ezeket a sebezhetőségeket a megjegyzésekben CVE-2026-23479, CVE-2026-25243 és CVE-2026-23631 néven soroltuk fel.Adatbázis-szintű ACL.
Hozzáadtunk egy adatbázis-szintű hozzáférés-vezérlő rendszert. Ez lehetővé teszi a finomabb jogosultságok megadását többfelhasználós konfigurációkban, és túlmutat a teljes Valkey-példány globális hozzáférési szabályain.TLS tanúsítványok automatikus újratöltése.
A Valkey 9.1 mostantól támogatja az automatikus TLS-tanúsítványok újratöltését. A rendszergazdák számára ez kevesebb manuális lépést jelent a tanúsítványok cseréjekor, és a biztonságos telepítések kényelmesebb működtetését.Új HGETDEL csapat.
A parancs atomilag lekér és töröl egy vagy több mezőt egy hash struktúrából. Ez különösen hasznos olyan forgatókönyvek esetén, mint a sorok vagy az egyszeri adatfelhasználás, ahol korábban a HGET és a HDEL kombinálására volt szükség egy tranzakción keresztül.Új MSETEX csapat.
Az MSETEX lehetővé teszi több kulcs beállítását megosztott élettartammal egyetlen parancs használatával. Korábban ehhez a forgatókönyvhöz több SETEX hívásra vagy SET és EXPIRE hívások kombinációjára volt szükség a folyamaton keresztül. Az új parancs csökkenti a hívások számát és leegyszerűsíti a munkamenet- és ideiglenes adatok tipikus kódját.Új CLUSTERSCAN csapat.
A klaszterek mostantól egyetlen paranccsal szkennelhetik a kulcsokat az összes csomóponton. Korábban a klienseknek manuálisan kellett futtatniuk a SCAN parancsot minden csomóponton, és egyesíteniük az eredményeket. A CLUSTERSCAN leegyszerűsíti a klienskönyvtárakat, az adminisztrációs eszközöket és az olyan működési feladatokat, mint a kulcsok keresése minta vagy típus alapján a teljes klaszteren.A karakterláncok memória-felhasználásának optimalizálása.
A 128 bájtnál rövidebb karakterláncok belső mutatóoptimalizálása akár 20%-kal is csökkentheti a memóriafogyasztást. Ez különösen fontos a tipikus gyorsítótárazási feladatoknál, amelyek nagyszámú kis értéket tárolnak.Kevesebb memória a rendezett halmazokhoz.
A kihagyási lista struktúrák optimalizálása akár 10%-kal is csökkenti a rendezett halmazok memóriafogyasztását. A rendezett halmazokon végzett műveletek, beleértve a ZRANGEBYSCORE és a ZRANGEBYLEX lekérdezéseket is, felgyorsultak.Gyorsított munka újrafeldolgozással.
A belső hash tábla újraelosztását, amely gyakran akkor történik, amikor a kulcsterület növekszik, optimalizálták a késleltetés csökkentése érdekében. A kiadási megjegyzések a növekményes oldalkiadás miatti késleltetési csúcsok csökkenését is említik.Továbbfejlesztett I/O szálkezelési modell.
A 9.1.0-rc2 kiadásra jelölt verzióban átdolgozták az I/O szálak interakciós modelljét zárolásmentes sorok használatával. A kiadási megjegyzések 8–17%-os átviteli sebességnövekedést mutatnak.Gyorsítsd fel a GET és SET műveleteket.
A Valkey mostantól alapértelmezés szerint a hardveres órát használja, ahol lehetséges, csökkentve az idővel kapcsolatos rendszerhívások terhelését. A projekt a GET és SET műveletek esetében akár 3%-os teljesítménynövekedést is ígér.Gyorsabb tömeges költöztetés.
A Valkey mostantól ideiglenesen felfüggeszti a hash táblák belső átméretezését olyan műveletek során, mint az SREM, ZREM és HDEL, hogy elkerülje a felesleges újraméretezést és felgyorsítsa az elemek tömeges törlését.Hatékonyabb replikakészítés AOF közben.
Amikor engedélyezett AOF mellett hoz létre replikát, a kapott RDB fájlt újra felhasználja a rendszer a kezdeti AOF alapfájl új pillanatképének létrehozása helyett. Ez csökkenti a felesleges terhelést a replikák telepítésekor.Fejlesztések a valkey-cli és a valkey-benchmark rendszerben.
Atomi slot migrációs támogatás került a valkey-cli-be a --cluster-use-atomic-slot-migration paraméteren keresztül a --cluster rebalance és --cluster reshard műveletekhez. RPS eloszlási kimenet került a valkey-benchmark-ba a --warmup és --duration paraméterekkel együtt, így a teljesítménytesztelés kezelhetőbbé vált.
Külön a Valkey 9.1-gyel együtt az ökoszisztémában kapcsolódó projekteket népszerűsítenek: Valkey Admin a klaszterek vizuális kezeléséhez, Valkey Search 1.2 teljes szöveges kereséssel, numerikus szűrőkkel, címkékkel és vektorkereséssel, valamint egy klienskönyvtárral Valkey GLIDE.
A Valkey 9.1 jelentős frissítés a teljesítmény szempontjából: kevesebb memória a közös struktúrákon, kisebb késleltetés a belső újraépítések során, új parancsok a klaszterekhez és az ideiglenes adatokhoz, valamint pontosabb biztonsági modell az éles telepítésekhez.
Forrás: linux.org.ru
