Udgivelsen af databasen Redis 8.4

Udgivelsen af Redis 8.4, der hører til klassen af NoSQL-systemer, er offentliggjort. Redis tilbyder funktioner til lagring af data i nøgle/værdi-format, udvidet med understøttelse af strukturerede dataformater såsom lister, hashes og sæt, samt muligheden for at udføre server-side scripting med Lua. Projektkoden er skrevet i C og distribueres under AGPLv3-licensen.

Redis-databasen understøtter transaktioner, der gør det muligt at udføre en gruppe kommandoer i ét trin og garanterer konsistens og sekvensering (andre forespørgsler kan ikke blande sig) i udførelsen af det angivne kommando-sæt, og i tilfælde af problemer tillades det at rulle ændringer tilbage. Alle data caches i fuldt omfang i RAM. Klientbiblioteker er tilgængelige for de mest populære sprog, herunder Perl, Python, PHP, Java, Ruby og Tcl.

Til datahåndtering gives der kommandoer som inkrement/dekrement, standardoperationer på lister og sæt (forening, intersection), omdøbning af nøgler, multipel sampling og sorterede funktioner. To lagringsmetoder understøttes: periodisk synkronisering af data på disk og føring af en ændringslog på disken. I det andet tilfælde sikres det, at alle ændringer bliver bevaret fuldt ud. Det er muligt at organisere master-slave datarapportering til flere servere, der sker i en ikke-blokerende tilstand. En publicerings-abonnements-mulighed er også tilgængelig, hvor en kanal oprettes, og beskeder fra denne kanal distribueres til abonnenter.

Nøgleændringer i Redis 8.4:

  • Der er tilføjet en kommando "FT.HYBRID" med implementering af hybrid søgning, der kombinerer funktionaliteten af fuldtekstsøgning og vektorsøgning i én forespørgsel, der tager hensyn til både direkte match og semantisk nærhed. Aggregation af resultater understøttes med syntaks som ved kommandoen "FT.AGGREGATE".
  • Gennemløbsbredden i typiske Redis-kapacitetsscenarier er blevet forbedret. For eksempel, ved belastninger der inkluderer 10% skriveoperationer (SET) og 90% læseoperationer (GET), og med lagring af strengværdier på 1 KB, er der opnået en stigning i gennemløbsbredde på 30%.
    Udgivelsen af databasen Redis 8.4
  • Ydeevnen for søgeoperationer (FT.SEARCH) og resultataggregation (FT.AGGREGATE) er blevet forbedret. I belastede systemer med mange parallelle forespørgsler observeres en stigning i gennemløbsbredden og en reduktion af forsinkelser på op til 4,7 gange ved udførelse af søgninger og op til 1,4 gange ved resultataggregation.
    Udgivelsen af databasen Redis 8.4
  • Optimering af hukommelsesallokering ved forespørgsler er udført, samt mulighed for at tilpasse adfærden ved mangel på tilgængelig hukommelse (OOM, out-of-memory) er blevet givet.
  • Hukommelsesforbruget ved opbevaring af små strenge (op til 7 bytes) i JSON-strukturer er blevet reduceret. For eksempel optager et JSON-array med 500 små elementer i nøgle/værdi-format nu 37% mindre hukommelse.
  • Effektiviteten af opbevaring af numeriske JSON-arrays, hvor alle elementer har én type, er blevet forbedret (tidligere blev typen og værdien gemt for hvert element, men nu gemmes typen kun én gang for hele arrayet). I en udført test kræver sådanne arrays med en million ensartede elementer nu 50-92% mindre hukommelse afhængigt af type.
  • Kommandoen SET er blevet udvidet med mulighederne IFEQ, IFNE, IFDEQ og IFDNE, der muliggør at opdatere en strengnøgle med en enkelt kommando i situationer, hvor den tilknyttede værdi ikke er blevet ændret af en anden klient siden dens hentning.
  • Tilføjet kommandoen XDELEX til atomisk sletning af strengnøgler, hvis den tilknyttede værdi ikke er ændret siden udtrækningen.
  • Tilføjet kommandoen DIGEST, der returnerer en hash af værdien tilknyttet den angivne nøgle.
  • I kommandoen XREADGROUP er der tilføjet en mulighed "CLAIM " til at læse både ventende og indkommende meddelelser.
  • Tilføjet kommandoen MSETEX til atomisk oprettelse eller opdatering af flere strengnøgler på én gang samt opdatering af deres livstid.
  • Indført en mekanisme til atomisk migrering af slots mellem cluster-noder (ASM — Atomic Slot Migration), der minder om fuld synkron replikering, men fungerer på niveauet for individuelle datalagre. Tilføjet kommandoen CLUSTER MIGRATION, som gør det muligt at importere slots fra andre noder, spore migrationsforløbet og markere ventende migrationsoperationer, hvis nødvendigt.
  • Tilføjet kommandoen CLUSTER SLOT-STATS til evaluering af statistikker i clusteret fordelt på individuelle slots, såsom antal nøgler, CPU-belastning og netværksind/udgang.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster