I shpallur versioni i DBMS Redis 8.4, e cila i përket klasës së sistemeve NoSQL. Redis ofron funksione për ruajtjen e të dhënave në formatin çelës/vlerë, të zgjeruara me mbështetje për formate të strukturuara të dhënash, të tilla si lista, hesh dhe grupe, si dhe mundësinë e ekzekutimit në server të skemave të përpunimit në gjuhën Lua. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën AGPLv3.
DBMS Redis mbështet transaksionet, duke lejuar ekzekutimin e një grupi komandash në një hap, duke garantuar përputhshmërinë dhe renditjen (komandat nga kërkesa të tjera nuk mund të përfshihen) e ekzekutimit të një sete të propozuar komandash, dhe në rast problemesh lejon tërheqjen e ndryshimeve. Të gjitha të dhënat ruhen në mënyrë të plotë në memorie. Bibliotekat e klientit janë të disponueshme për shumicën e gjuhëve të njohura, duke përfshirë Perl, Python, PHP, Java, Ruby dhe Tcl.
PĂ«r menaxhimin e tĂ« dhĂ«nave, ofrohen komanda tĂ« tilla si inkrement/defrement, operacione standard mbi lista dhe grupe (bashkimi, pĂ«rbashkimi), rinaming i çelĂ«save, marrje tĂ« shumta dhe funksione renditjeje. MbĂ«shteten dy mĂ«nyra ruajtjeje: sinkronizimi i rregullt i tĂ« dhĂ«nave nĂ« disk dhe mbajtja nĂ« disk e logut tĂ« ndryshimeve. NĂ« rastin e dytĂ«, garantohet ruajtja e plotĂ« e tĂ« gjitha ndryshimeve. ĂshtĂ« e mundur organizimi i replikimit tĂ« tĂ« dhĂ«nave master-slave nĂ« disa serverĂ«sh, realizuar nĂ« mĂ«nyrĂ« jo bllokuese. ĂshtĂ« gjithashtu nĂ« dispozicion njĂ« regjimi i komunikimit "publikim/abone", ku krijohet njĂ« kanal, mesazhet nga i cili shpĂ«rndahen klientĂ«ve nĂ« bazĂ« tĂ« abonimeve.
Ndryshimet kryesore në Redis 8.4:
- Shtuar komanda "FT.HYBRID" me realizimin e kërkimit hibrid, e cila kombinon në një kërkesë mundësitë e kërkimit me tekst të plotë dhe kërkimit vektor, duke marrë parasysh si përputhjet e drejta ashtu edhe afërsinë semantike. Mbështetet agregimi i rezultateve me sintaksë si komanda "FT.AGGREGATE".
- Rritet kapaciteti në aplikimet tipike të Redis për caching. Për shembull, në ngarkesat që përfshijnë 10% operacione shkrimi (SET) dhe 90% operacione leximi (GET) dhe ruajtjen e vlerave string me madhësi 1 KB, rritja e kapacitetit është 30%.

- Rritet performanca e operacioneve të kërkimit (FT.SEARCH) dhe agregimit të rezultateve (FT.AGGREGATE). Në sistemet me ngarkesë të lartë me numër të madh kërkesa paralele, vihet re një rritje e kapacitetit dhe ulje e vonesave deri në 4.7 herë gjatë kryerjes së kërkimit dhe deri në 1.4 herë gjatë agregimit të rezultateve.

- Optimizimi i alokimit të memorjes gjatë kryerjes së kërkesave dhe ofrimi i mundësisë për konfigurimin e sjelljes në rast të skadimit të memories së disponueshme (OOM, out-of-memory).
- U zvogëlua konsumimi i memories gjatë ruajtjes së strings të vogla (deri në 7 byte) në struktura me tipin JSON. Për shembull, një array në JSON që përfshin 500 elemente të vegjël në formatin çelës/vlerë tani zë 37% më pak memorie.
- Rritet efikasiteti i ruajtjes së array-ve numerike JSON, të gjitha elementet e së cilave kanë një tip (nëse më parë për çdo element në një array të tillë ruhej tipi dhe vlera, tani tipi ruhet një herë për të gjithë array-n). Në testet e kryera, këto array me një milion elemente homogjene tani kërkojnë 50-92% më pak memorie në varësi të tipit.
- Në komandën SET janë shtuar opsionet IFEQ, IFNE, IFDEQ dhe IFDNE, që lejojnë përdorimin e një komande për të përditësuar çelësin string në situata kur vlera e lidhur me të nuk është ndryshuar nga një klient tjetër që nga momenti i nxjerrjes së saj.
- Shtesa e komandës XDELEX për heqjen atomike të çelësit të vargut, nëse vlera e lidhur me të nuk është ndryshuar që nga nxjerrja.
- Shtesa e komandës DIGEST, e cila kthen hash-in e vlerës së lidhur me çelësin e specifikuar.
- Në komandën XREADGROUP është shtuar opsioni «CLAIM » për të lexuar si mesazhe që presin (idle pending), ashtu edhe mesazhe të shqyrtuara (incoming).
- Shtesa e komandës MSETEX për vendosjen ose përditësimin atomik të disa çelësave të vargjeve njëherësh, si dhe përditësimin e kohës së jetës së tyre.
- Shtesa e mekanizmit pĂ«r migrimin atomik tĂ« slot-eve midis nyjeve tĂ« grumbullit (ASM â Migrimi Atomik i Slot-eve), e cila Ă«shtĂ« e ngjashme me replikimin e plotĂ« sinkron, por funksionon nĂ« nivelin e slot-eve individuale tĂ« ruajtjes sĂ« tĂ« dhĂ«nave. Shtesa e komandĂ«s CLUSTER MIGRATION, me tĂ« cilĂ«n mund tĂ« importoni slot-e nga nyje tĂ« tjera, tĂ« ndihmon pĂ«r tĂ« ndjekur pĂ«rparimin e migrimit dhe, nĂ« rast nevoje, tĂ« shĂ«nohet procesi i migrimit qĂ« pritet tĂ« pĂ«rfundojĂ«.
- Shtesa e komandës CLUSTER SLOT-STATS për vlerësimin e statistikave në grumbull lidhur me slot-et individuale, si numri i çelësave, ngarkesa e CPU dhe input/output rrjetor.
Burimi: opennet.ru


