andmebaasi väljaanne , mis kuulub NoSQL-süsteemide klassi. Redis pakub Memcached-le sarnaseid funktsioone andmete salvestamiseks võtme/väärtuse formaadis, laiendatud struktureeritud andmeformaatide nagu loendid, hash'id ja hulgad toetamisega ning võimalusega täita serveri poolel skripte Lua keeles. Projekti kood levitatakse BSD litsentsi alusel. Täiendavad moodulid, mis pakuvad laienenud võimalusi ettevõtte kasutajatele, nagu RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, alates eelmisest aastast on litsentsitud RSAL alusel. Avatud versioonide arendamine nende moodulite AGPLv3 litsentsi all jätkub projekti poolt .
Erinevalt Memcached'ist tagab Redis andmete püsimise kettale ja garanteerib andmebaasi säilimise juhusliku sulgemise korral. Projekti lähtekood jagatakse BSD litsentsi alusel. Klientide raamatukogud on saadaval enamike populaarsete keelte jaoks, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl. Redis toetab tehinguid, mis võimaldavad teostada rühma käske ühe sammu jooksul, tagades järjepidevuse ja terviklikkuse (teiste päringute käsud ei saa vahele segada) antud käsu kogumi täitmisel ning probleemide korral muudatusi tagasi võtta. Kõik andmed vahemälus salvestatakse täielikult RAM-is.
Andmete haldamiseks on saadaval sellised käsud nagu inkremendimine/dekrementeerimine, standardoperatsioonid loenditega ja hulkadega (ühendamine, ristumine), võtmete ümbernimetamine, mitmekordsed valikud ja sortimisfunktsioonid. Toetatud on kaks salvestusrežiimi: andmete perioodiline sünkroonimine kettale ja muutuste logi pidamine kettal. Teisel juhul garanteeritakse kõigi muudatuste täielik säilimine. Samuti on võimalik korraldada master-slave andmete replikatsiooni mitmetele serveritele, mis toimub mitte-blokeerivas režiimis. Saadaval on ka sõnumivahetuse režiim “publikatsioon/registratsioon”, kus luuakse kanal, mille sõnumid edastatakse tellijatele.
Peamised , mis on lisatud Redis 6.0:
- Vaikimisi on pakutud uut RESP3 protokolli, kuid ühenduse loomine algab RESP2 režiimis ja klient vahetab uuele protokollile ainult siis, kui ühenduse sõlmimise käigus kasutatakse uut käsku HELLO. RESP3 võimaldab otseselt tagastada keerulisi andmetüüpe ilma, et klient peaks genereerima tavalisi massiive ja eraldama tagastatavaid tüüpe.
- Ligipääsukontrolli nimekirjad (), mis võimaldavad täpselt määratleda, milliseid toiminguid klient võib teha ja milliseid mitte. ACL võimaldab ka kaitsta arenguvigade eest, näiteks võib teatud operatsiooni BRPOPLPUSH teostavale töötlejale keelata teiste operatsioonide tegemise ning juhul, kui tööprotsedisioonis unustatakse juhuslikult lisatud FLUSHALL kutsung, ei tekita see probleeme. ACL rakendamine ei too kaasa täiendavaid kulusid ning mõjutab praktiliselt mitte jõudlust. ACL jaoks on ette valmistatud ka liidese moodulid, mis võimaldavad luua oma autentimise meetodeid. Kõikide registreeritud ACL rikkumiste vaatamiseks on ette nähtud käsk „ACL LOG“. Et genereerida ettearvamatuid sessioonivõtmeid, on lisatud käsk „ACL GENPASS”, mis kasutab SHA256 baasil HMAC-d.
- Tugi suhtluse krüpteerimiseks kliendi ja serveri vahel.
- jaotatud suhtluse vahemälu. Kliendi vahemälu kooskõlastamiseks andmebaasi olekuga on saadaval kaks režiimi: 1. Salvestamine serveris võtmete kohta, mida klient on varem küsinud, et teavitada teda kirje aegumisest kliendi vahemälus. 2. Mehaanika „broadcasting”, kus klient liitub teatud võtme prefiksitega ja server teavitab teda võtmete muutumisest, mis kuuluvad nendele prefiksidele. „Broadcasting” režiimi pluss on see, et server ei kuluta täiendavat mälu kliendi poolel vahemälus hoidmiseks, kuid miinus on suurenenud edastatavate sõnumite arv.
- Sõnumite vahendaja Disque, mis võimaldab kasutada Redis-i sõnumiteedade töötlemiseks, on viidud välja põhikomplektist .
- Lisatud , klusteri Redis serverite jaoks mõeldud proxy, mis võimaldab kliendi tööd mitme Redis serveriga kui ühe instantsiga. Proxy suudab suunata päringud sõlmedesse, kus on vajalikud andmed, multipuksifitseerida ühendused, konfigureerida klusterit ümber, kui tuvastatakse sõlmede tõrkeid, ja teostada päringuid, mis katab mitu sõlme.
- API moduli kirjutamiseks on oluliselt parendatud, muutes Redis põhimõtteliselt raamistikuks, mis võimaldab luua süsteeme modulaarselt-täiendustena.
- Töötav replikatsioonirežiim, kus RDB failid kustutatakse kohe pärast nende kasutamist.
- Replikatsiooni protokolli PSYNC2 on parendatud, mis võimaldab tihedamat osalist uute andmete sünkroniseerimist, suurendades võimalusi tuvastada positsioon, mis on ühiseks nii koopial kui ka meistril.
- RDB failide laadimisaega on kiirus tõusnud. Sõltuvalt faili sisust on kiirus tõusnud 20 kuni 30%. Käsk INFO täitmine on samuti märgatavalt kiirem, kui on palju ühendatud kliente.
- Uus käsk STRALGO, mis sisaldab keeruliste stringitöötlusalgoritmide rakendusi. Praegu on saadaval ainult üks algoritm LCS (pikim ühine alussegu), mida saab kasutada RNA ja DNA järjestuste võrdlemiseks.
Allikas: opennet.ru
