UtgÄvan av databashanteraren Redis 7.0.

Redis 7.0 har slÀppts och tillhör klassen av NoSQL-system. Redis erbjuder funktioner för datalagring i nyckel/vÀrde-format, med utökad support för strukturerade dataformat som listor, hash-mappar och mÀngder, samt möjligheten att köra server-side skript pÄ Lua. Projektets kod distribueras under BSD-licens. Ytterligare moduler som erbjuder utökade funktioner för företagsanvÀndare, sÄsom RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, har sedan 2019 distribuerats under den proprietÀra RSAL-licensen. Utvecklingen av öppna alternativ till dessa moduler under AGPLv3-licens har försökt fortsÀtta av projektet GoodFORM, som pÄ sista tiden har varit i stagnering.

Till skillnad frÄn minneslagringssystem som Memcached, erbjuder Redis bestÀndig datalagring pÄ disk och garanterar databasens integritet vid krasch. Projektets kÀllkoder sprids under BSD-licens. Klientbibliotek Àr tillgÀngliga för de flesta populÀra sprÄk, inklusive Perl, Python, PHP, Java, Ruby och Tcl. Redis stödjer transaktioner, som möjliggör genomförandet av en mÀngd kommandon i ett steg, vilket garanterar konsistens och sekvens (kommandon frÄn andra förfrÄgningar kan inte avbryta) i utförandet av en given uppsÀttning kommandon, och ger ocksÄ möjlighet att Ängra Àndringar vid problem. All data cachas i sin helhet i minnet.

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 7.0:

  • Stöd för funktioner som körs pĂ„ servern har lagts till servern. Till skillnad frĂ„n tidigare stödda skript pĂ„ Lua Ă€r funktionerna inte bundna till applikationen och syftar till att implementera ytterligare logik som utökar serverns kapabiliteter. Funktionerna bearbetas oavbrutet med data och kopplas till databasen snarare Ă€n till applikationen, inklusive replikering och lagring i bestĂ€ndig lagring.
  • En andra version av ACL har föreslagits, vilket möjliggör datatillgĂ„ngshantering baserat pĂ„ nycklar och tillĂ„ter definition av olika uppsĂ€ttningar av Ă„tkomstrider för kommandon med möjlighet att binda flera selektorer (uppsĂ€ttningar av rĂ€ttigheter) till varje anvĂ€ndare. Varje nyckel kan kopplas till specifika rĂ€ttigheter, till exempel kan tillgĂ„ngen begrĂ€nsas till endast lĂ€sning eller skrivning av en viss delmĂ€ngd av nycklar.
  • En fungerande sektionerad (sharded) implementering av publicerings- och abonnemangsparadigmet (Publish-Subscribe) har tillhandahĂ„llits, dĂ€r meddelandet skickas till en specifik nod som Ă€r kopplad till meddelandekanalen, varefter detta meddelande omdirigeras till de andra noderna inom sektionen (shard). Kunder kan prenumerera pĂ„ meddelanden frĂ„n kanalen, bĂ„de genom att ansluta till huvudnoden och till sekundĂ€ra noder i sektionen. Hantering görs med hjĂ€lp av kommandona SSUBSCRIBE, SUNSUBSCRIBE och SPUBLISH.
  • Stöd för hantering av underkommandon har lagts till i de flesta kontexter.
  • Nya kommandon har lagts till:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • COMMAND DOCS, COMMAND LIST.
    • LATENCY HISTOGRAM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • CLIENT NO-EVICT.
    • ACL DRYRUN.
  • Möjlighet att bearbeta flera konfigurationer i ett enda CONFIG SET/GET-anrop har tillhandahĂ„llits.
  • Nya alternativ har lagts till i verktyget redis-cli: "—json", "-2", "—scan", "—functions-rdb".
  • Som standard Ă€r tillgĂ„ng för klienter till instĂ€llningar och kommandon som pĂ„verkar sĂ€kerhet (t.ex. kommandon DEBUG och MODULE Ă€r avstĂ€ngda, Ă€ndringar av konfigurationer med PROTECTED_CONFIG-flagg Ă€r förbjudna) avstĂ€ngd. Utskrift av kommandohistorik med konfidentiella uppgifter i redis-cli har upphört.
  • En stor mĂ€ngd optimeringar har införts för att öka prestanda och minska minnesförbrukningen. Till exempel har minnesförbrukningen vid aktivering av klusterlĂ€ge, vid utförande av copy-on-write-operationer och vid arbete med hash och zset-nycklar minskat avsevĂ€rt. Logiken för att skriva data till disk (anrop av fsync) har förbĂ€ttrats. Antalet nĂ€tverkspaket och systemanrop vid sĂ€ndning av svar till klienten har minskat. Effektiviteten i replikationen har ökats.
  • SĂ„rbarheten CVE-2022-24735 i Lua-skriptkörningsmiljön har Ă„tgĂ€rdats, vilket gör det möjligt att ersĂ€tta sin egen Lua-kod och fĂ„ den att köras i kontexten av en annan anvĂ€ndare, inklusive en med högre privilegier.
  • SĂ„rbarheten CVE-2022-24736 har Ă„tgĂ€rdats, vilket möjliggör att processen redis-server kraschar pĂ„ grund av dereferensiering av en nullpekare. Attacken utförs genom att ladda speciellt utformade Lua-skript.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster