Redis 7.0 andmebaasi vÀljalase.

Avaldatud on Redis 7.0 andmehalduse sĂŒsteem, mis kuulub NoSQL sĂŒsteemide klassi. Redis pakub funktsioone andmete salvestamiseks vĂ”tme/vÀÀrtuse formaadis, millel on laiendatud toetus struktureeritud andmevormingutele, nagu loendid, hash’id ja hulkade kĂ€tkek. Samuti on vĂ”imalik serveri poolel kĂ€itada Lua keeles skripte. Projekti kood on saadaval BSD litsentsi alusel. TĂ€iendavad moodulid, mis pakuvad laiendatud vĂ”imalusi ettevĂ”tete kasutajatele, nagu RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, on alates 2019. aastast saadaval omandiĂ”iguse RSAL litsentsi alusel. Avatud varianti nende moodulite all AGPLv3 litsentsi all ĂŒritas arendada projekt GoodFORM, mis on viimasel ajal olnud stagnatsioonis.

Erinevalt mĂ€luandmetest, nagu Memcached, tagab Redis andmete pĂŒsiva salvestamise kettale ja garanteerib andmebaasi sĂ€ilimise ootamatute katkemiste korral. Projekti lĂ€htekood on saadaval BSD litsentsi kohaselt. Klientide raamatukogud on saadaval enamikule populaarsetest keeltest, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl. Redis toetab tehingute tegemist, mis vĂ”imaldavad ĂŒhes etapis rĂŒhma kĂ€sklusi lĂ€bi viia, garanteerides jĂ€rjepidevuse ja konsistentsi (teised pĂ€ringud ei saa sekkuda) antud kĂ€skluste komplekti tĂ€itmisel ning probleemide korral vĂ”imaldavad muudatusi tagasi vĂ”tta. KĂ”ik andmed vaheldumatult vahemĂ€lus.

Andmete haldamiseks on saadaval sellised kĂ€sud nagu inkrement/dekrement, standardoperatsioonid loendite ja hulkade (ĂŒhendamine, ristumine), vĂ”tmete ĂŒmbernimetamine, mitme valiku tegemine ja sorteerimisfunktsioonid. Toetatakse kahte salvestusreĆŸiimi: andmete perioodiline sĂŒnkroonimine kettale ja muutuste logi sĂ€ilitamine kettal. Teises reĆŸiimis tagatakse kĂ”igi muudatuste tĂ€ielik sĂ€ilimine. On vĂ”imalik korraldada master-slave andmete replikatsiooni mitmele serverid, mis toimub mitteblokeerivas reĆŸiimis. Samuti on saadaval sĂ”numite vahetamise reĆŸiim "publish/subscribe", mille korral luuakse kanal, mille sĂ”numid levivad klientidele tellimuse alusel.

Olulised muudatused Redis 7.0:

  • Sisse on toodud toetused funktsioonide kĂ€itamiseks serveri poolel serverilt. Erinevalt varasematest toetatud Lua keeles skriptidest ei ole funktsioonid seotud rakendusega ja on suunatud tĂ€iendava loogika teostamisele, mis laiendab serveri vĂ”imalusi. Funktsioonid töödeldakse andmetega katkematult ja seotakse andmebaasi, mitte rakendusega, sealhulgas need replitseeritakse ja salvestatakse pĂŒsivasse salvestusse.
  • Esitatud on ACL-i teine redaktsioon, mis vĂ”imaldab hallata juurdepÀÀsu andmetele vĂ”tmete alusel ja vĂ”imaldab mÀÀrata erinevaid reeglite komplekte kĂ€skude jaoks, sidudes mitu selektorit (volituste komplekti) iga kasutajaga. Iga vĂ”ti vĂ”ib olla seotud teatud volitustega, nĂ€iteks saab piirata juurdepÀÀsu ainult lugemiseks vĂ”i kirjutamiseks teatud vĂ”tmete alamhulgale.
  • Töös on klastris töötav jagatud (sharded) teatiste levitamise mudel (Publish-Subscribe), kus teave saadetakse konkreetsele sĂ”lmele, millega on seotud teavituskana, ning seejĂ€rel suunatakse teave teistele sĂ”lmedele, mis kuuluvad sektsiooni (shard). Klientidel on vĂ”imalik tellida teateid kanalist, ĂŒhendudes nii peamise sĂ”lme kui ka sektsiooni sekundaarsete sĂ”lmedega. Halduse teostamiseks kasutatakse kĂ€ske SSUBSCRIBE, SUNSUBSCRIBE ja SPUBLISH.
  • Lisatud on toe alamhÀÀlestuste töötlemiseks enamikus kontekstides.
  • Uued kĂ€sud on lisatud:
    • 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.
  • Paindlikkuse tegemine mitme konfiguratsiooni töötlemiseks ĂŒhes CONFIG SET/GET kutses.
  • redis-cli utiliidile on lisatud valikud „—json”, „-2”, „—scan”, „—functions-rdb”.
  • Vaikimisi on klientide juurdepÀÀs seadetesse ja kĂ€skudesse, mis mĂ”jutavad turvalisust, keelatud (nt on keelatud kĂ€sklused DEBUG ja MODULE, ei tohi muuta konfiguratsioone PROTECTED_CONFIG lipuga). redis-cli-s on peatatud kĂ€skude ajaloo kirjutamine faili, mis sisaldab konfidentsiaalset teavet.
  • Tehtud on suur hulk optimeerimisi, mille eesmĂ€rk on tĂ”sta jĂ”udlust ja vĂ€hendada mĂ€lutarbimist. NĂ€iteks on oluliselt vĂ€henenud mĂ€lutarbimine klastrireĆŸiimi sisselĂŒlitamisel, copy-on-write toimingute tegemisel ja hashide ja zset vĂ”tmetega töötamisel. Parandatud on andmete kirjutamise loogikat kettale (fsync-i kĂ”ne). VĂ€hendatud on vĂ”rgu pakettide ja sĂŒsteemi kĂ”nede arvu kliendile vastuste saatmisel. Suurendatud on replikeerimise efektiivsust.
  • Parandatud CVE-2022-24735 haavatavust Lua-skriptide tĂ€itmise keskkonnas, mis vĂ”imaldas sisestada oma Lua-koodi ja tĂ€ita seda teise kasutaja, sealhulgas kĂ”rgemate Ă”igustega kasutaja kontekstis.
  • Parandatud CVE-2022-24736 haavatavust, mis vĂ”imaldas redis-serveri protsessi kokkujooksmise nullpunkti dereferentimise tĂ”ttu. RĂŒnnak tehakse spetsiaalselt vormistatud Lua-skriptide laadimise kaudu.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster