lëshimi i SGBD , i lidhur me klasën e sistemeve NoSQL. Redis ofron funksione të ngjashme me Memcached për ruajtjen e të dhënave në formatin çelës/vlerë, me mbështetje të zgjeruar për formate të dhënash të strukturuara si lista, hash dhe grupe, si dhe mundësinë për të ekzekutuar skripte-përpunues në server me gjuhën Lua. Kodi i projektit nën licencën BSD. Module të tjera, të cilat ofrojnë mundësi të zgjeruara për përdoruesit e korporatave, si RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, që nga viti i kaluar nën licencën e pronarit RSAL. Zhvillimi i varianteve të hapura të këtyre moduleve nën licencën AGPLv3 vazhdon nga projekti .
Në krahasim me Memcached, Redis siguron ruajtje të përhershme të të dhënave në disk dhe garanton ruajtjen e DB-së në rast të mbylljes së papritur. Kodet burimorë të projektit shpërndahen nën licencën BSD. Bibliotekat klientore janë të disponueshme për shumicën e gjuhëve të njohura, duke përfshirë Perl, Python, PHP, Java, Ruby dhe Tcl. Redis mbështet transaksionet, duke lejuar ekzekutimin e një grupi komandos nga një hap, duke garantuar konsistencën dhe renditjen (komandat nga kërkesa të tjera nuk mund të ndërhyjnë) e ekzekutimit të një seti të caktuar komandash, dhe në rast problemesh, duke lejuar përmirësimin e ndryshimeve. Të dhënat ruhet plotësisht në memorien operuese.
PĂ«r menaxhimin e tĂ« dhĂ«nave ofrohen komanda si inkrementim/dekrementim, operacione standard mbi lista dhe grupe (bashkim, kryqĂ«zim), rinovimin e çelĂ«save, kĂ«rkesa tĂ« shumta dhe funksione renditjeje. MbĂ«shtetet dy mĂ«nyra ruajtjeje: sinkronizimi i rregullt i tĂ« dhĂ«nave nĂ« disk dhe mbajtja e njĂ« regjistri tĂ« ndryshimeve nĂ« disk. NĂ« kĂ«tĂ« rast tĂ« dytĂ«, garantohet ruajtja e plotĂ« e tĂ« gjitha ndryshimeve. ĂshtĂ« e mundur organizimi i replikimit tĂ« tĂ« dhĂ«nave master-slave nĂ« disa servera, e cila bĂ«het nĂ« mĂ«nyrĂ« jo-bllokuese. Disponohet gjithashtu mĂ«nyra e shkĂ«mbimit tĂ« mesazheve "publikim/nĂ«nshkrim", kur krijohet njĂ« kanal, mesazhet e tĂ« cilit shpĂ«rndahen klientĂ«ve sipas nĂ«nshkrimit.
ĂelĂ«sore , tĂ« shtuar nĂ« Redis 6.0:
- Si fillim, ofrohet një protokoll i ri RESP3, por krijimi i lidhjes fillon në modin RESP2 dhe klienti kalon në protokollin e ri vetëm nëse gjatë pajtimit të lidhjes është përdorur komanda e re HELLO. RESP3 lejon kthimin direkt të tipeve të dhënash të komplikuara pa pasur nevojë për konvertimin e listave të zakonshme në anën e klientit dhe ndan tipet e kthyer.
- Mbështetje për listat e kontrollit të aksesit (), të cilat lejojnë të përcaktojnë saktësisht se cilat operacione mund të kryejë klienti dhe cilat jo. ACL gjithashtu ofrojnë mundësinë për t'u mbrojtur nga mundësitë e gabimeve gjatë zhvillimit, për shembull, një përpunues që kryen vetëm operacionin BRPOPLPUSH, mund të ndalohet të kryejë operacione të tjera, dhe në rast se në kodin e punës ndodhet rastësisht një thirrje FLUSHALL, kjo nuk do t'i sjellë probleme. Realizimi i ACL nuk është i lidhur me shpenzime shtesë dhe praktikisht nuk ndikon në performancën. Janë përgatitur gjithashtu modula ndërfaqe për ACL, të cilat lejojnë krijimin e metodave të personalizuara të autentifikimit. Për të shikuar të gjitha shkeljet e regjistruara të ACL, është parashikuar komandë "ACL LOG". Për gjenerimin e çelësave të sesioneve të paparashikueshme është shtuar komanda "ACL GENPASS", e cila përdor HMAC në bazë të SHA256.
- Mbështetje për enkriptimin e kanalit të komunikimit midis klientit dhe serverit.
- ruajtjen e të dhënave në anën e klientit. Për pajtimin e cache-it në anën e klientit me gjendjen e DB-së janë të disponueshme dy mënyra: 1. Ruajtja në server e çelësave që klienti i kërkoi më parë, për ta informuar atë për humbjen e relevancës së regjistrimit në cache-in e klientit. 2. Mekanizmi "broadcasting", ku klienti regjistrohet për prefikset e caktuar të çelësave dhe serveri e njofton atë për ndryshimin e çelësave që bien nën këto prefikse. Avantazhi i mënyrës "broadcasting" është se serveri nuk përton memorie shtesë për të ruajtur hartën e vlerave të ruajtura në anën e klientit, ndërsa disavantazhi është rritja e numrit të mesazheve të dërguara.
- Brokeri i mesazheve Disque, i cili lejon përdorimin e Redis për përpunimin e radhëve të mesazheve, është nxjerrë nga përbërja themelore në .
- Shtuar , një proxy për grupin e serverëve Redis, i cili lejon organizimin e punës së klientit me disa serverë Redis si me një ekzemplar të vetëm. Proxy mund të orientojë kërkesat drejt nyjave me të dhënat e nevojshme, të kryejë lidhje të shumta, të rikonfigurojë grupin në rast zbulimi të dështimeve të nyjeve, dhe të përfundojë kërkesa që mbulojnë disa nyje.
- API për zhvillimin e moduleve është përmirësuar ndjeshëm, duke e kthyer Redis në një framework që mundëson krijimin e sistemeve si module shtesë.
- ĂshtĂ« implementuar njĂ« mĂ«nyrĂ« replikimi ku skedarĂ«t RDB fshihen menjĂ«herĂ« pasi janĂ« pĂ«rdorur.
- Protokolli i replikimit PSYNC2 është përmirësuar, duke mundësuar një rinovim më të shpeshtë të pjesshëm, duke rritur mundësitë e zbulimit të devijimeve midis replikes dhe masterit.
- Ngarkesa e skedarëve RDB është përshpejtuar. Varësisht nga përmbajtja e skedarit, përshpejtimi varion nga 20 deri në 30%. Ekzekutimi i komandës INFO është ndjeshëm më i shpejtë kur ka shumë klientë të lidhur.
- Komanda e re STRALGO është shtuar me implementimin e algoritmeve komplekse për përpunimin e vargjeve. Aktualisht është në dispozicion vetëm një algoritm, LCS (pjesa më e zakonshme e përbashkët), i cili mund të jetë i dobishëm për krahasimin e sekuencave të ARN dhe ADN.
Burimi: opennet.ru
