Het is aangekondigd release van de nieuwe versie van «Valkey 8.1», een fork van Redis die ontstond na de overgang naar een propriëtaire licentie en die de open filosofie van het oorspronkelijke project wil behouden.
Valkey 8.1 Het bevat een groot aantal verbeteringen en veranderingen, die zich vooral richt op prestatieoptimalisaties die de latentie verminderen, de geheugenefficiƫntie verhogen en nieuwe modulaire mogelijkheden bieden.
Belangrijkste nieuwe functies in Valkey 8.1
Een van de meest significante veranderingen in deze versie is de volledige herschrijving van de hashtabel, gebruikt in zowel sleutelwaarde-gegevensopslag als gestructureerde gegevenstypen zoals Hash, Set en Sorted Set. Dankzij dit nieuwe ontwerp, Er is een vermindering van het geheugengebruik bereikt: 20 bytes minder per sleutel zonder TTL, en maximaal 30 bytes als de sleutel een bepaalde levensduur heeft. Bovendien heeft de vermindering van de willekeurige geheugentoegang geleid tot een prestatieverbetering van 10% in single-threaded I/O-omgevingen.
Een andere nieuwe functie in Valkey 8.1 is de iteratie over toetsen in bewerkingen zoals de KEYS-opdracht of De sleuteloverdracht tussen knooppunten in een cluster maakt nu gebruik van een cache-preloadingsysteem, waardoor de volgende sleutel beschikbaar is voordat de verwerking begint. Deze aanpak heeft de snelheid van het opzoeken van sleutels met een factor 3,5 verhoogd door beter gebruik te maken van de processorcache.
Multi-threaded I/O en TLS-verbeteringen
Valkey zet de overgang naar een multithreaded I/O-model voort. Nu, de TLS-verbindingsverwerking wordt uitgevoerd in afzonderlijke stromenwaardoor de capaciteit om nieuwe aansluitingen te accepteren verdrievoudigd is. Functies zoals SSL_pending() en ERR_clear_error() zijn ook geĆÆsoleerd in afzonderlijke threads, wat resulteert in een prestatieverbetering van 10% voor SET-bewerkingen en een verbetering van 22% voor GET-bewerkingen.
Replicatie is verbeterd, vooral in omgevingen met actieve TLS, waardoor overbodige bewerkingen zoals onnodige controlesommen worden geƫlimineerd. Dit heeft geresulteerd in een verbetering van 18% in volledige synchronisatie tijdens schijfloze replicatie en een verlaging van 47% in de kosten van kopieer- en schrijfbewerkingen.
Optimalisaties op geordende sets en probabilistische typen
El ZRANK-opdracht voor geordende sets is geoptimaliseerd en Het is nu 45% sneller, terwijl ZADD SIMD-instructies heeft overgenomen om een āāgrotere efficiĆ«ntie te bereiken. Voor probabilistische gegevenstypen is het gebruik van HyperLogLog verbeterd, zodat er nu slechts 12 KB vast geheugen nodig is. Dankzij AVX2-instructies kunnen de uitvoeringen van PFMERGE- en PFCOUNT-bewerkingen tot wel 12 keer worden vermenigvuldigd, en die van BITCOUNT tot wel 5 keer.
Ononderbroken actieve defragmentatie en meer controle over registers
El het actieve defragmentatiesysteem is ook verbeterd om blokkades of vertragingen te voorkomen. Tegenwoordig duurt elke defragmentatiecyclus slechts 500 microseconden, en er is een anti-hongersnoodstrategie geĆÆmplementeerd om te voorkomen dat deze taken worden uitgesteld vanwege langdurige operaties.
Zijn geĆÆntroduceerd Nieuwe configuratieopties voor recordopmaak, inclusief aangepaste tijdsnotaties en een nieuwe COMMANDLOG-modus die lange verzoeken en reacties registreert. Bovendien is de LATENCY LATEST-opdracht uitgebreid met nieuwe statistieken, waardoor u beter inzicht hebt in de geregistreerde piek- en volumelatenties.
Nieuwe functies, modules en ondersteuning
Valkey Hiermee kunt u nu de SET IFEQ-bewerking uitvoeren, die het schrijven van een sleutel aan de huidige waarde koppelt. Ook Modulaire ondersteuning voor script-engines wordt geĆÆntroduceerdwaardoor de mogelijkheid ontstaat om alternatieve talen naast Lua te gebruiken via aangepaste modules.
In deze versie ook verschillende modules debuteren:
- Zoekmodule (Google): Zoekmachine voor vectorgelijkenis, ideaal voor machine learning-toepassingen waarbij een lage latentie en hoge doorvoer vereist zijn.
- JSON-module (AWS): maakt directe manipulatie van JSON-documentfragmenten mogelijk, waardoor volledige verwerking van de inhoud op de client wordt vermeden.
- Bloeifiltermodule (AWS): Implementatie van Bloom-filters, nuttig voor het bepalen van het mogelijke lidmaatschap van een element in een set, met probabilistische efficiƫntie
Tot slot, als u geĆÆnteresseerd bent om er meer over te weten, kunt u de details raadplegen in de volgende link.