A Valkey, egy nyílt forráskódú, Redis-kompatibilis, memóriában tárolt kulcs-érték adatbázis, most megjelent a 9.1-es verziója, amely adatbázis szintű hozzáférés-ellenőrzési listákat (ACL) ad hozzá. Ez lehetővé teszi az adminisztrátorok számára, hogy a felhasználókat konkrét adatbázisokhoz korlátozzák.
Korábban az ACL-ek az összes adatbázisra vonatkoztak. Most a felhasználók korlátozhatók például a 0 és 1 adatbázisokra, míg másokhoz, például a 2-es adatbázishoz nem férhetnek hozzá.
A Lua szkriptek egy külön modulba kerültek, csökkentve a fő szerver biztonsági felületét, és lehetővé téve az üzemeltetők számára, hogy letiltsák a Lua-t, ha nincs rá szükség. Ezen kívül az
INFO
parancs most tartalmaz egy Scripting Engines szekciót, amely megjeleníti a betöltött szkriptnyelveket.
A TLS kezelés is javult, az
INFO
parancs most már jelentést ad a TLS tanúsítványok lejárati dátumairól. A TLS tanúsítványok automatikus háttér újratöltése lehetővé teszi a rotációt leállás nélkül, és a mTLS beállításokhoz hozzáadták a tanúsítvány Subject Alternative Name URI hitelesítést.
Fontos újdonság, hogy a Valkey 9.1 bevezeti a fő szál és az I/O szálak használati mutatóit a jobb megfigyelhetőség érdekében. Mivel a CPU használat önmagában félrevezető lehet, ezek a kumulatív mutatók tisztább képet adnak az üzemeltetőknek a tényleges szerverterhelésről.
Továbbá a kiadás hozzáadja a JSON naplózást az új log-format json opcióval, lehetővé téve, hogy a szerver naplói strukturált JSON objektumokként jelenjenek meg, megkönnyítve a feldolgozást a megfigyelhetőségi és naplókezelő eszközökkel.
A teljesítmény terén a Valkey 9.1 jelentős fejlesztéseket kínál, elérve akár 2,1 millió kérést másodpercenként egyetlen szerveren, 512 bájtos payloadokkal, kilenc I/O szálon és 10 parancs mélységű pipeline-nal. Az újratervezett I/O szálkezelési modell akár 17%-kal növeli a throughput-ot különböző terhelések esetén.
A stream műveleteket optimalizálták. Az
XRANGE
és
XREVRANGE
parancsok akár 30%-kal gyorsabbak a hot-path fejlesztéseknek köszönhetően. A
GET
throughput akár 30%-kal nőtt a string
GET
parancsok esetében, miután megemelték a string beágyazási méret küszöbét.
A rendezett halmazok teljesítménye is javult a skiplist lekérdezések feldolgozásában végrehajtott változtatások révén. Ezen kívül a
COMMAND
válasz gyorsítótárazása csökkentheti az ügyfelek csatlakozási beállítási idejét. Továbbá, a hardveróra használata most alapértelmezettként engedélyezett, csökkentve a rendszerhívások overhead-jét és javítva a GET és SET teljesítményt akár 3%-kal.
A memóriahatékonyság szempontjából a Valkey 9.1-ben a belső pointer optimalizálások a 128 bájt alatti stringek memóriahasználatát akár 20%-kal csökkentik, míg a skiplist optimalizálások a rendezett halmazok memóriahasználatát akár 10%-kal mérséklik. A hash táblák újrahashingje is optimalizálva lett, hogy minimalizálja a késleltetést a kulcstartomány növekedése során.
Ezen felül három új parancs került bevezetésre. Az
HGETDEL
atomikusan lekéri és törli egy vagy több mezőt egy hash-ből, megszüntetve a
HGET
és
HDEL
tranzakcióban való kombinálásának szükségességét. Az
MSETEX
egyszerre több kulcsot állít be közös lejárati idővel egyetlen parancsban, csökkentve az expiring kulcsokhoz szükséges körutakat. Az
CLUSTERSCAN
lehetővé teszi a klaszter szintű kulcskeresést, így az ügyfeleknek már nem kell külön-külön átvizsgálniuk minden csomópontot és egyesíteniük az eredményeket.
Végül az eszközfrissítések között szerepel az atomikus slot migráció támogatása a valkey-cli-ban a
--cluster-use-atomic-slot-migration
opcióval a klaszter újraelosztásához és újraszálazásához. A
valkey-benchmark
eszköz most már jelentést ad a kérés másodpercenkénti eloszlásáról, és hozzáadja a
--warmup
és
--duration
paramétereket a jobban kontrollált benchmarking érdekében.
További részletekért lásd a bejelentést. A Valkey 9.1 már elérhető binárisként, konténerekben és forráskódként, a disztribúciós csomagok hamarosan érkeznek.

