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
