Redis 7.4 har publicerats, som tillhör klassen av NoSQL-system. Redis erbjuder funktioner för att lagra data i formatet nyckel/vÀrde, utvidgat med stöd för strukturerade dataformat som listor, hash-tabeller och mÀngder samt möjlighet att köra skript pÄ serversidan skrivna i Lua. Till skillnad frÄn lagringssystem pÄ minnet, som Memcached, lagrar Redis databasen inte bara i minnet utan Àven pÄ disken, vilket garanterar databasens sÀkerhet vid ovÀntade avbrott.
Redis 7.4 har utsetts till den första versionen som distribueras med nya licensvillkor â istĂ€llet för den tidigare anvĂ€nda BSD-licensen Ă€r koden nu tillgĂ€nglig under proprietĂ€ra licenser, RSALv2 (Redis Source Available License v2) och SSPLv1 (Server Side Public License v1). De som vill fortsĂ€tta anvĂ€nda koden under BSD-licensen kan ta del av projekten Valkey (en fork, utvecklad med deltagande frĂ„n Amazon, Google, Oracle, Ericsson och Snap), Redict (en fork av skaparen av anvĂ€ndargrĂ€nssnittet Sway och sprĂ„ket Hare), Garnet (en databas frĂ„n Microsoft, kompatibel med Redis) eller KeyDB (en högpresterande fork av Redis 5 frĂ„n Snapchat).
Licenserna SSPL och RSAL leder till diskriminering av vissa anvÀndarkategorier, vilket gör att de inte kan anses vara öppna eller fria. BÄda licenserna liknar varandra i sina syften, medan skillnaderna bestÄr i att SSPL-licensen baseras pÄ copyleft-licensen AGPLv3, medan RSAL-licensen baseras pÄ den permissiva BSD-licensen. RSAL-licensen tillÄter att anvÀnda, Àndra, distribuera och integrera koden i applikationer, utom nÀr dessa applikationer Àr kommersiella eller anvÀnds för att tillhandahÄlla hanterade betaltjÀnster. SSPL-licensen innehÄller dessutom ett krav att inte bara koden för sjÀlva applikationen utan Àven kÀllkoden för alla komponenter som Àr involverade i att tillhandahÄlla molntjÀnsten mÄste levereras under samma licens.
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 funktionaliteten för Redis 7.4:
- Möjligheten att begrÀnsa livslÀngden för specifika fÀlt i hash- och strukturdatatyper för lagring av grupperade samlingar av nyckel-vÀrde-poster har lagts till. Till skillnad frÄn att tilldela en livslÀngd för nyckeln, tillÄter den föreslagna Àndringen att sÀtta inte bara en allmÀn livslÀngd för alla relaterade fÀlt, utan Àven individuella livslÀngder för specifika fÀlt. Detta kan anvÀndas, till exempel, för att sÀkerstÀlla en kortare livscykel för autentiseringstokens, jÀmfört med andra sessiondata.
- Nya datatyper bfloat16 och float16 har föreslagits, optimerade för anvÀndning i maskininlÀrningsapplikationer, vilket minskar minnesförbrukningen jÀmfört med tidigare tillgÀngliga datatyper float32 och float64. NÀr de anvÀnds i hash ger de nya typerna möjlighet att minska minnesförbrukningen i vektordatabaser med 47%, minska fördröjningen av datainhÀmtning med 59% och minska tiden för indexering med 58% jÀmfört med datatypen float64.
- AnvĂ€ndningen av sekundĂ€ra index har förenklats. Vid begĂ€ran om information frĂ„n sekundĂ€ra index behöver man inte lĂ€ngre maska specifika specialtecken som "@" och ".", utan kan anvĂ€nda citattecken för att omge datadelar. Indexeringen av tomma och saknade fĂ€lt har ocksĂ„ förbĂ€ttrats avsevĂ€rt â för att skapa index och formulera begĂ€rningar som tar hĂ€nsyn till fĂ€ltens nĂ€rvaro har det nya nyckelordet INDEXMISSING och funktionen ismissing() introducerats. Nya operatorer INTERSECT och DISJOINT har lagts till för att förenkla sökningen av geospatiala data. Funktioner har lagts till för att analysera minnesförbrukningen av index.
- Stöd för filter har lagts till för att sortera bort element i tillagda datamÀngder. Till exempel, vid periodisk inladdning av datorsensorer i databasen kan man lÀgga till ett filter för att ignorera vÀrden vars tidsdifferens frÄn föregÄende vÀrde Àr mindre Àn ett visst tröskelvÀrde.
- Stödet för triggers och funktioner skrivna i JavaScript, som föreslogs i den tidigare utgÄvan, har avslutats.
KĂ€lla: opennet.ru
