Udgivelse af Redis 7.0 DBMS

Udgivelsen af ​​Redis 7.0 DBMS, som tilhører klassen af ​​NoSQL-systemer, er blevet offentliggjort. Redis giver funktioner til lagring af nøgle-/værdidata, forbedret af understøttelse af strukturerede dataformater såsom lister, hashes og sæt, samt muligheden for at køre server-side script-handlere i Lua. Projektkoden leveres under BSD-licensen. Yderligere moduler, der tilbyder avancerede funktioner til virksomhedsbrugere, såsom RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, er blevet leveret under en proprietær RSAL-licens siden 2019. GoodFORM-projektet, som for nylig har været stagneret, forsøgte at fortsætte udviklingen af ​​åbne versioner af disse moduler under AGPLv3-licensen.

I modsætning til lagersystemer i hukommelsen som f.eks. Memcached, sikrer Redis, at data konstant lagres på disken og sikrer, at databasen forbliver intakt i tilfælde af et nedbrud. Kildekoden til projektet distribueres under BSD-licensen. Klientbiblioteker er tilgængelige for de fleste populære sprog, herunder Perl, Python, PHP, Java, Ruby og Tcl. Redis understøtter transaktioner, som giver dig mulighed for at udføre en gruppe af kommandoer i ét trin, hvilket sikrer konsistens og konsistens (kommandoer fra andre anmodninger kan ikke forstyrre) i udførelsen af ​​et givet sæt kommandoer, og i tilfælde af problemer, giver dig mulighed for at rulle tilbage ændringer. Alle data er fuldt cachelagret i RAM.

Datastyringskommandoer omfatter forøgelse/formindskelse, standardliste- og sætoperationer (forening, skæringspunkt), omdøbning af taster, flere valg og sorteringsfunktioner. To lagringstilstande understøttes: periodisk datasynkronisering til disk og vedligeholdelse af en ændringslog på disken. Sidstnævnte garanterer fuldstændig bevarelse af alle ændringer. Master-slave-datareplikering på tværs af flere instanser er også mulig. servere, udført i ikke-blokerende tilstand. En publicerings-/abonnementstilstand er også tilgængelig, som opretter en kanal, hvorfra beskeder distribueres til klienter via abonnement.

Vigtigste ændringer i Redis 7.0:

  • Tilføjet understøttelse af funktioner udført på siden serverI modsætning til tidligere understøttede Lua-scripts er funktioner ikke applikationsspecifikke og er designet til at implementere yderligere logik, der udvider serverens muligheder. Funktioner behandles problemfrit med dataene og er knyttet til databasen, ikke applikationen, og replikeres og gemmes i persistent storage.
  • En anden udgave af ACL er blevet foreslået, som giver dig mulighed for at kontrollere adgang til data baseret på nøgler og giver dig mulighed for at definere forskellige sæt regler for adgang til kommandoer med mulighed for at binde flere vælgere (sæt af tilladelser) til hver bruger. Hver nøgle kan identificeres med en specifik autoritet, for eksempel kan du begrænse adgangen til kun at læse eller skrive et bestemt undersæt af nøgler.
  • En partitioneret (sharded) implementering af Publish-Subscribe besked distributionsparadigmet, der kører i en klynge, er tilvejebragt, hvor en besked sendes til en specifik node, hvortil en beskedkanal er knyttet, hvorefter denne besked omdirigeres til de resterende inkluderede noder i skærven. Klienter kan modtage beskeder ved at abonnere på en kanal, både ved at oprette forbindelse til hovedknuden og til sektionens sekundære knudepunkter. Kontrol udføres ved hjælp af kommandoerne SSUBSCRIBE, SUNSUBSCRIBE og SPUBLISH.
  • Tilføjet understøttelse til behandling af underkommandoer i de fleste sammenhænge.
  • Nye kommandoer tilføjet:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCANELS/SHARDNUMSUB.
    • UDLØBSTID, PEXPIRETID.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • KOMMANDODOC., KOMMANDOLISTE.
    • LATENCY HISTOGRAM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • KLIENT INGEN FREMSTILLING.
    • ACL DRYRUN.
  • Muligheden for at behandle flere konfigurationer på én gang i et CONFIG SET/GET-opkald er tilvejebragt.
  • Indstillingerne "-json", "-2", "-scan", "-functions-rdb" er blevet tilføjet til redis-cli-værktøjet.
  • Som standard er klientadgang til indstillinger og kommandoer, der påvirker sikkerheden, deaktiveret (f.eks. er kommandoerne DEBUG og MODULE deaktiveret, og det er forbudt at ændre konfigurationer med flaget PROTECTED_CONFIG). Redis-cli udsender ikke længere kommandoer, der indeholder følsomme data, til en historiefil.
  • En stor del af optimeringer er blevet introduceret med det formål at øge ydeevnen og reducere hukommelsesforbruget. For eksempel er hukommelsesforbruget blevet væsentligt reduceret, når du aktiverer klyngetilstand, når du udfører kopier-på-skriv-operationer, og når du arbejder med hashes og zset-nøgler. Forbedret logik til at skylle data til disk (fsync-kald). Antallet af netværkspakker og systemopkald ved afsendelse af svar til klienten er blevet reduceret. Replikeringseffektiviteten er blevet forbedret.
  • Sårbarheden CVE-2022-24735 i miljøet til udførelse af Lua-scripts er blevet rettet, hvilket giver dig mulighed for at erstatte din egen Lua-kode og opnå dens eksekvering i sammenhæng med en anden bruger, inklusive en med højere rettigheder.
  • Rettet sårbarhed CVE-2022-24736, som gør det muligt for redis-server-processen at gå ned på grund af NULL pointer-dereference. Angrebet udføres gennem indlæsning af specialdesignede Lua-scripts.

Kilde: opennet.ru

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