Ute nu Àr versionen av databashanteraren Redis 8.4, som tillhör kategorin NoSQL-system. Redis erbjuder funktioner för att lagra data i nyckel/vÀrde-format, med utökad support för strukturerade dataformat som listor, hash och mÀngder, samt möjlighet att köra skript i Lua pÄ serversidan. Projektkoden Àr skriven i C och distribueras under AGPLv3-licensen.
Databashanteraren Redis stöder transaktioner som gör det möjligt att utföra en grupp kommandon i ett enda steg, vilket garanterar konsistens och sekvens (kommandon frÄn andra förfrÄgningar kan inte avbryta) nÀr ett givet uppsÀttning kommandon exekveras, och möjligheten att rulla tillbaka Àndringar vid problem. All data cachas helt i RAM. Klientbibliotek finns tillgÀngliga för de flesta populÀra sprÄken, inklusive Perl, Python, PHP, Java, Ruby och Tcl.
För datahantering finns kommandon som inkrementera/Decrementera, standardoperationer för listor och mÀngder (förening, snitt), omdöpning av nycklar, multipla urval och sorteringsfunktioner. TvÄ lagringslÀgen stöds: periodisk synkronisering av data till disk och loggning av Àndringar pÄ disk. I det andra fallet garanteras fullstÀndig bevarande av alla Àndringar. Master-slave replicering av data kan ordnas pÄ flera servrar, vilket sker i icke-blockerande lÀge. Det finns Àven ett meddelandeutbyteslÀge för "publicering/prenumeration", dÀr en kanal skapas och meddelanden frÄn den distribueras till prenumeranter.
NyckelförÀndringar i Redis 8.4:
- Kommandot "FT.HYBRID" har lagts till med implementering av hybrid sökning, som kombinerar funktionaliteten frÄn fulltextsökning och vektorsökning i en och samma förfrÄgan, som tar hÀnsyn till bÄde direkta matchningar och semantisk nÀrhet. Aggregationen av resultat stöds med syntax liknande den i kommandot "FT.AGGREGATE".
- Genomströmningen i typiska anvÀndningar av Redis för caching har ökat. Till exempel, med belastningar som inkluderade 10% skrivoperationer (SET) och 90% lÀsoperationer (GET) samt lagring av strÀngvÀrden pÄ 1 kB, har genomströmningen ökat med 30%.

- Sökoperationernas (FT.SEARCH) och resultaten av aggregationen (FT.AGGREGATE) prestanda har förbÀttrats. I belastade system med ett stort antal parallella förfrÄgningar observeras en ökning av genomströmning och en minskning av fördröjningar med upp till 4,7 gÄnger vid utförande av sökningar och upp till 1,4 gÄnger vid resultatsaggregat.

- Minnesallokeringen vid körning av förfrÄgningar har optimerats och möjlighet har givits att konfigurera beteendet vid brist pÄ tillgÀngligt minne (OOM, out-of-memory).
- Minnesförbrukningen vid lagring av smÄ strÀngar (upp till 7 byte) i strukturer av typen JSON har minskats. Till exempel tar en JSON-array som innehÄller 500 smÄ element i formatet nyckel/vÀrde nu 37 % mindre minne.
- Effektiviteten i lagringen av numeriska JSON-arrayer, dÀr alla element har samma typ, har ökat (tidigare sparades typ och vÀrde för varje element i en sÄdan array, nu sparas typen en gÄng för hela arrayen). I ett genomfört test krÀver sÄdana arrayer med en miljon homogena element nu 50-92 % mindre minne beroende pÄ typ.
- Kommandot SET har fÄtt options IFEQ, IFNE, IFDEQ och IFDNE, vilket gör det möjligt att anvÀnda ett enda kommando för att uppdatera en strÀngnyckel i situationer dÀr det relaterade vÀrdet inte har Àndrats av en annan klient sedan det extraherades.
- Kommandot XDELEX har lagts till för atomÀr radering av strÀngnyckeln om det relaterade vÀrdet inte har förÀndrats sedan det extraherades.
- Kommandot DIGEST har lagts till, vilket returnerar en hash av vÀrdet relaterat till den angivna nyckeln.
- I kommandot XREADGROUP har alternativet «CLAIM » lagts till för att lÀsa bÄde vÀntande (idle pending) och inkommande (incoming) meddelanden.
- Kommandot MSETEX har lagts till för atomÀr instÀllning eller uppdatering av flera strÀngnycklar pÄ en gÄng, samt för att uppdatera deras livstid.
- En mekanism för atomĂ€r migrering av slotar mellan klusternoder (ASM â Atomic Slot Migration), som liknar full synkron replikering men fungerar pĂ„ nivĂ„n av individuella lagringsslotar, har lagts till. Kommandot CLUSTER MIGRATION har lagts till, som möjliggör import av slotar frĂ„n andra noder, spĂ„rning av migrationsprocessen och vid behov mĂ€rkning av vĂ€ntande migrationsoperationer.
- Kommandot CLUSTER SLOT-STATS har lagts till för att utvÀrdera statistiken i klustret per enskild slot, sÄsom antalet nycklar, CPU-belastning och nÀtverksin-/utdata.
KĂ€lla: opennet.ru


