Valkey 8.1: A Redis fork teljesítményt, memóriafejlesztéseket és új modulokat kínál

Valkey

Bejelentették a «Valkey 8.1» új verziójának kiadása, Redis egy villája, amely a saját licencre való átállása után született, és amely az eredeti projekt nyitott filozófiáját igyekszik fenntartani.

Valkey 8.1 Számos fejlesztést és változtatást tartalmaz, amelynek fő hangsúlya a késleltetést csökkentő, a memória hatékonyságát növelő teljesítményoptimalizálásokon és az új moduláris képességeken áll.

A Valkey 8.1 legfontosabb újdonságai

A a legjelentősebb változások közül ebben a változatban a a hash tábla teljes átírása, amelyet kulcsérték-adattárolásban és strukturált adattípusokban is használnak, például Hash, Set és Sorted Set. Ennek az újratervezésnek köszönhetően Csökkentett memóriahasználat: kulcsonként 20 bájttal kevesebb TTL nélkül, és legfeljebb 30 bájt, ha a kulcsnak meghatározott élettartama van. Ezenkívül a véletlenszerű memóriaelérés csökkenése 10%-os teljesítményjavuláshoz vezetett az egyszálú I/O környezetekben.

Egy másik újdonság a Valkey 8.1-ben, hogy a kulcsok feletti iteráció olyan műveletekben, mint a KEYS parancs vagy A fürt csomópontjai közötti kulcsátvitel mostantól gyorsítótár-előtöltő rendszerrel rendelkezik, amely lehetővé teszi, hogy a következő kulcs elérhető legyen a feldolgozás megkezdése előtt. Ez a megközelítés 3,5-szeresére növelte a kulcskeresési sebességet a processzor gyorsítótárának jobb kihasználásával.

Többszálú I/O és TLS fejlesztések

A Valkey folytatja átállását a többszálas I/O modellre. Most a A TLS kapcsolat feldolgozása külön folyamokban történik, amely megháromszorozta az új kapcsolatok fogadásának kapacitását. Az olyan funkciókat, mint az SSL_pending() és az ERR_clear_error() szintén külön szálakba különítették el, ami 10%-os teljesítménynövekedést eredményezett a SET műveleteknél és 22%-os növekedést a GET műveleteknél.

A replikáció javult, különösen aktív TLS-sel rendelkező környezetekben, kiküszöbölve a redundáns műveleteket, például a szükségtelen ellenőrző összegeket. Ez 18%-kal javult a teljes szinkronizálásban a lemez nélküli replikáció során, és 47%-kal csökkentette a másolási és írási műveletek költségeit.

Optimalizálások rendezett halmazokon és valószínűségi típusokon

El ZRANK parancs a megrendelt készletekhez optimalizálva lett és Most 45%-kal gyorsabb, míg a ZADD átvette a SIMD utasításokat nagyobb hatékonyság elérése érdekében. Valószínűségi adattípusok esetén a HyperLogLog használatát továbbfejlesztették, hogy csak 12 KB fix memóriát használjon, az AVX2 utasítások használata pedig lehetővé tette a PFMERGE és PFCOUNT műveletek teljesítményének akár 12-szeresét, a BITCOUNT pedig akár 5-szörösét is.

Megszakítás nélküli aktív töredezettségmentesítés és nagyobb ellenőrzés a nyilvántartások felett

El az aktív töredezettségmentesítési rendszert is továbbfejlesztették a dugulások vagy késések elkerülése érdekében. Most minden töredezettségmentesítési ciklus csak 500 mikroszekundumig tart, és éhezés elleni stratégiát valósítottak meg annak érdekében, hogy ne halasszák el ezeket a feladatokat a hosszú távú műveletek miatt.

Bevezették Új konfigurációs lehetőségek a rekord formázásához, beleértve az egyéni időformátumokat és egy új COMMANDLOG módot, amely naplózza a hosszú kéréseket és válaszokat. Ezenkívül a LATENCY LATEST parancs új mérőszámokkal bővült, így jobban láthatók a rögzített csúcs- és mennyiségi késések.

Új funkciók, modulok és támogatás

Valkey most lehetővé teszi a SET IFEQ művelet végrehajtását, amely feltételekhez köti egy kulcs írását az aktuális értékhez. Is Bevezetésre kerül a szkriptmotorok moduláris támogatása, amely lehetővé teszi a Lua alternatív nyelveinek használatát egyéni modulokon keresztül.

Ebben a verzióban is több modul debütált:

  • Keresőmodul (Google): Vektorhasonlóság keresőmotor, ideális olyan gépi tanulási esetekhez, amelyek alacsony késleltetést és nagy átviteli sebességet igényelnek.
  • JSON-modul (AWS): lehetővé teszi a JSON-dokumentumtöredékek közvetlen manipulálását, elkerülve a tartalom teljes feldolgozását az ügyfélen.
  • Bloom szűrő modul (AWS): Bloom szűrők megvalósítása, amelyek hasznosak egy halmazban lévő elem lehetséges tagságának meghatározására, valószínűségi hatékonysággal

Végül, ha többet szeretne megtudni róla, tájékozódhat a részletekről a következő link.