datubÄzes izlaidums , kas pieder pie NoSQL sistÄmu klases. Redis nodroÅ”ina lÄ«dzÄ«gas funkcijas kÄ Memcached datu glabÄÅ”anai atslÄgu/vÄrtÄ«bu formÄtÄ, paplaÅ”inÄtas ar strukturÄtu datu formÄtu atbalstu, piemÄram, sarakstiem, hashiem un kopÄm, kÄ arÄ« iespÄju izpildÄ«t servera pusÄ skriptus Lua valodÄ. Projekta kods ir pieejams BSD licencÄ. Papildu moduļi, kuros tiek piedÄvÄtas paplaÅ”inÄtas iespÄjas korporatÄ«vajiem lietotÄjiem, piemÄram, RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, kopÅ” pagÄjuÅ”Ä gada ar RSAL Ä«paÅ”umtiesÄ«bu licenci. AtvÄrtÄs versijas datu moduļiem tiek turpinÄta attÄ«stÄ«ba AGPLv3 licences ietvaros ar projekta palÄ«dzÄ«bu .
AtŔķirÄ«bÄ no Memcached, Redis nodroÅ”ina pastÄvÄ«gu datu glabÄÅ”anu diska formÄtÄ un garantÄ datu bÄzes saglabÄÅ”anu gadÄ«jumÄ, ja notiek avÄrija. Projekta avota kodi izplatÄs ar BSD licenci. Klienta bibliotÄkas ir pieejamas lielÄkajai daļai populÄro valodu, tostarp Perl, Python, PHP, Java, Ruby un Tcl. Redis atbalsta transakcijas, kas ļauj izpildÄ«t komandu grupu vienÄ solÄ«, garantÄjot konsekvenci un secÄ«bu (citu pieprasÄ«jumu komandas nevar iejaukties) noteikta komandu kopuma izpildÄ, un, ja rodas problÄmas, ļauj atgriezt izmaiÅas. Visi dati tiek pilnÄ«bÄ keÅ”oti operatÄ«vajÄ atmiÅÄ.
Datu pÄrvaldÄ«bai tiek nodroÅ”inÄti tÄdi komandu rÄ«ki kÄ inkrementÄÅ”ana/dekrementÄÅ”ana, standarta operÄcijas ar sarakstiem un kopÄm (apvienoÅ”ana, krustojums), atslÄgu pÄrdÄvÄÅ”ana, vairÄku atlase un ŔķiroÅ”anas funkcijas. AtbalstÄ«ti divi uzglabÄÅ”anas režīmi: periodiska datu sinhronizÄcija uz diska un izmaiÅu žurnÄla uzturÄÅ”ana diskÄ. OtrajÄ gadÄ«jumÄ tiek garantÄta visu izmaiÅu pilnÄ«ga saglabÄÅ”ana. Ir iespÄjama master-slave datu replikÄcija uz vairÄkiem serveriem, ko veic bez bloÄ·ÄÅ”anas režīmÄ. Pieejams arÄ« ziÅojumu apmaiÅas režīms āpublikÄcija/abonÄÅ”anaā, kurÄ tiek izveidots kanÄls, no kura ziÅojumi tiek izplatÄ«ti klientiem pÄc abonÄÅ”anas.
Galvenie , kas pievienoti Redis 6.0:
- NoklusÄti ir piedÄvÄts jauns RESP3 protokols, taÄu savienojuma izveide sÄkas ar RESP2 režīmu, un klients pÄriet uz jauno protokolu tikai tad, ja savienojuma pievienoÅ”anas laikÄ ir izmantota jaunÄ HELLO komanda. RESP3 ļauj tieÅ”i atgriezt sarežģītus datu tipus, nemainot vispÄrÄjos masÄ«vus klienta pusÄ un atdalot atgrieztos tipus.
- Piekļuves kontroles sarakstu atbalsts (), kas ļauj precÄ«zi noteikt, kuras darbÄ«bas klients var veikt un kuras ne. ACL arÄ« sniedz iespÄju aizsargÄties pret iespÄjamÄm kļūdÄm izstrÄdes procesÄ; piemÄram, apstrÄdÄtÄjam, kuram ir atļauts veikt tikai BRPOPLPUSH darbÄ«bu, var liegt citas darbÄ«bas, un pat ja darba kodÄ nejauÅ”i tiek aizmirsts par pievienoto FLUSHALL izsaukumu novÄrÅ”anas laikÄ, tas nenovedÄ«s pie problÄmÄm. ACL ievieÅ”anas laikÄ nav nepiecieÅ”ami papildu izdevumi, un tas praktiski neietekmÄ veiktspÄju. ACL ir izstrÄdÄtas arÄ« saskarnes moduļi, kas ļauj izveidot savas autentifikÄcijas metodes. Lai skatÄ«tu visus reÄ£istrÄtos ACL pÄrkÄpumus, ir paredzÄta komanda 'ACL LOG'. Lai Ä£enerÄtu neparedzamas sesijas atslÄgas, pievienota komanda 'ACL GENPASS', kas izmanto HMAC, balstoties uz SHA256.
- Atbalsts kanÄla Å”ifrÄÅ”anai starp klientu un serveri.
- datu keÅ”atmiÅas risinÄjumi klienta pusÄ. Lai saskaÅotu klienta keÅ”atmiÅu ar datu bÄzes stÄvokli, pieejami divi režīmi: 1. AtmiÅas saglabÄÅ”ana serverÄ« par iepriekÅ” pieprasÄ«to atslÄgu, lai informÄtu klientu par ieraksta novecoÅ”anu klienta keÅ”atmiÅÄ. 2. 'Broadcasting' mehÄnisms, kurÄ klients parakstÄs uz noteiktiem atslÄgu prefiksiem un serveris informÄ viÅu par izmaiÅÄm atslÄgÄs, kuras ietilpst Å”ajos prefiksos. 'Broadcasting' režīma priekÅ”rocÄ«ba ir tÄ, ka serverÄ« netiek iztÄrÄta papildu atmiÅa keÅ”otÄs vÄrtÄ«bu kartes uzglabÄÅ”anai klienta pusÄ, taÄu mÄ«nuss ir palielinÄtais pÄrsÅ«tÄ«to ziÅu skaits.
- ZiÅojumu starpnieks Disque, kas ļauj izmantot Redis ziÅojumu rindÄs, ir izdalÄ«ts no pamata sastÄva un .
- Pievienots , proxy starp serveru Redis klasterim, kas ļauj organizÄt klienta darbu ar vairÄkiem Redis serveriem kÄ ar vienu instanci. Proxy var marÅ”rutÄt pieprasÄ«jumus uz mezgliem ar nepiecieÅ”amajiem datiem, multiplikÄt savienojumus, pÄrrakstÄ«t klasteri gadÄ«jumÄ, ja tiek konstatÄti mezglu kļūmes, izpildÄ«t pieprasÄ«jumus, kas aptver vairÄkus mezglus.
- IevÄrojami uzlabota API moduļu rakstīŔanai, bÅ«tÄ«bÄ pÄrvÄrÅ”ot Redis par ietvaru, kas ļauj veidot sistÄmas moduļu veidÄ.
- Ieviests replikÄcijas režīms, kurÄ RDB faili nekavÄjoties tiek dzÄsti pÄc to izmantoÅ”anas.
- Uzlabots replikÄcijas protokols PSYNC2, kas ļÄvis biežÄk veikt daļÄju resinhronizÄciju, paaugstinot iespÄjas identificÄt nobÄ«di, kas kopÄ«ga gan replikai, gan meistaram.
- PaÄtrinÄta RDB failu ielÄde. AtkarÄ«bÄ no faila satura paÄtrinÄjums ir no 20 lÄ«dz 30%. IevÄrojami paÄtrinÄta komandas INFO izpilde, klÄtesot lielam klientu skaitam.
- Pievienota jauna komanda STRALGO ar sarežģītu virknÄjo apstrÄdes algoritmu realizÄciju. Å obrÄ«d pieejams tikai viens algoritms LCS (ilgÄkÄ kopÄ«gÄ subsequence), kas var bÅ«t noderÄ«gs, salÄ«dzinot RNS un DNS secÄ«bas.
Avots: opennet.lv
