Redis 6.0 rilaxx

Ippreparat Rilaxx tad-DBMS Redis 6.0, li jappartjenu għall-klassi tas-sistemi NoSQL. Redis jipprovdi funzjonijiet simili għal Memcached għall-ħażna tad-dejta taċ-ċavetta/valur, imsaħħa b'appoġġ għal formati ta 'dejta strutturata bħal listi, hashes, u settijiet, u l-abbiltà li tmexxi skripts tal-handler Lua fuq is-server. Kodiċi tal-proġett fornuti taħt liċenzja BSD. Moduli addizzjonali li joffru kapaċitajiet avvanzati għal utenti intrapriża bħal RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom mis-sena l-oħra fornuti taħt il-liċenzja proprjetarja RSAL. L-iżvilupp ta' verżjonijiet miftuħa ta' dawn il-moduli taħt il-liċenzja AGPLv3 jitkompla mill-proġett GoodFORM.

B'differenza Memcached, Redis jipprovdi ħażna persistenti ta 'data fuq disk u jiggarantixxi s-sigurtà tad-database fil-każ ta' għeluq ta 'emerġenza. Il-kodiċi tas-sors tal-proġett huwa mqassam taħt il-liċenzja BSD. Il-libreriji tal-klijenti huma disponibbli għal-lingwi l-aktar popolari, inklużi Perl, Python, PHP, Java, Ruby, u Tcl. Redis jappoġġja tranżazzjonijiet, li jippermettulek tesegwixxi grupp ta’ kmandi fi stadju wieħed, li tiżgura konsistenza u konsistenza (kmandi minn talbiet oħra ma jistgħux jinterferixxu) fl-eżekuzzjoni ta’ sett partikolari ta’ kmandi, u f’każ ta’ problemi, li jippermettulek tirritorna lura bidliet. Id-data kollha hija kompletament cache fir-RAM.

Kmandi bħal inkrement/tnaqqis, lista standard u operazzjonijiet ta 'sett (unjoni, intersezzjoni), isem ġdid taċ-ċwievet, selezzjonijiet multipli, u funzjonijiet ta' għażla huma pprovduti għall-ġestjoni tad-dejta. Żewġ modi ta 'ħażna huma appoġġjati: sinkronizzazzjoni perjodika ta' data mad-disk u manutenzjoni ta 'log tal-bidla fuq disk. Fit-tieni każ, is-sigurtà sħiħa tal-bidliet kollha hija garantita. Huwa possibbli li tiġi organizzata replikazzjoni tad-dejta master-slave għal diversi servers, imwettqa f'mod li ma jimblokkax. Mod ta’ messaġġi “jippubblika/abbona” huwa wkoll disponibbli, li fih jinħoloq kanal, li l-messaġġi minnu jitqassmu lill-klijenti permezz ta’ abbonament.

Ewlenin titjibmiżjud f'Redis 6.0:

  • B'mod awtomatiku, jiġi propost il-protokoll RESP3 il-ġdid, iżda s-setup tal-konnessjoni jibda fil-mod RESP2 u l-klijent jaqleb għall-protokoll il-ġdid biss jekk jintuża l-kmand HELLO il-ġdid meta tkun qed tinnegozja l-konnessjoni. RESP3 jippermettilek tirritorna direttament tipi ta' data kumplessi mingħajr il-ħtieġa li tikkonverti arrays ġeneriċi fuq in-naħa tal-klijent u billi tissepara t-tipi ta' ritorn.
  • Appoġġ tal-lista tal-kontroll tal-aċċess (ACL), li jippermettilek tiddetermina b'mod preċiż liema operazzjonijiet jistgħu jitwettqu mill-klijent u liema ma jistgħux. L-ACLs jagħmluha wkoll possibbli li tipproteġi kontra żbalji possibbli waqt l-iżvilupp, pereżempju, handler li jwettaq biss l-operazzjoni BRPOPLPUSH jista’ jiġi pprojbit milli jesegwixxi operazzjonijiet oħra, u jekk is-sejħa FLUSHALL miżjuda waqt id-debugging tintesa aċċidentalment fil-kodiċi tal-produzzjoni, dan se ma jwassalx għal problemi. L-implimentazzjoni ta 'ACL ma ġġarrab ebda spiża addizzjonali u prattikament m'għandha l-ebda impatt fuq il-prestazzjoni. Il-moduli tal-interface ġew ippreparati wkoll għall-ACL, li jagħmluha possibbli li toħloq il-metodi ta 'awtentikazzjoni tiegħek stess. Biex tara l-vjolazzjonijiet kollha tal-ACL irreġistrati, huwa pprovdut il-kmand "ACL LOG". Biex tiġġenera ċwievet ta 'sessjoni imprevedibbli, il-kmand "ACL GENPASS" ġie miżjud bl-użu ta' HMAC ibbażat fuq SHA256.
  • Appoġġ SSL / TLS biex jikkripta l-kanal ta 'komunikazzjoni bejn il-klijent u s-server.
  • Appoġġ caching data fuq in-naħa tal-klijent. Biex tirrikonċilja l-cache tan-naħa tal-klijent mal-istat tad-database, żewġ modi huma disponibbli: 1. Ftakar fuq is-server iċ-ċwievet li l-klijent talab qabel sabiex jinfurmah dwar it-telf tar-rilevanza tad-dħul fil-cache tal-klijent. 2. Il-mekkaniżmu ta '"xandir", li fih il-klijent jissottoskrivi għal ċerti prefissi ewlenin u s-server jinnotifikah jekk iċ-ċwievet li jaqgħu taħt dawn il-prefissi jinbidlu. Il-vantaġġ tal-mod ta '"xandir" huwa li s-server ma jaħlix memorja addizzjonali meta jaħżen mappa ta' valuri fil-cache fuq in-naħa tal-klijent, iżda l-iżvantaġġ huwa li n-numru ta 'messaġġi trażmessi jiżdied.
  • Is-sensar tal-messaġġi Disque, li jippermettilek tuża Redis biex tipproċessa kjuwijiet tal-messaġġi, tneħħa mill-istruttura bażika f' modulu separat.
  • Miżjud Cluster Proxy, prokura għal raggruppament ta 'servers Redis, li jippermetti klijent jorganizza xogħol ma' diversi servers Redis bħallikieku kienu istanza waħda. Il-proxy jista 'jindirizza talbiet lejn nodi bid-dejta meħtieġa, konnessjonijiet multiplex, jikkonfigura mill-ġdid il-cluster jekk jinstabu fallimenti tan-nodi, u jesegwixxi talbiet li jkopru diversi nodi.
  • L-API għall-kitba tal-moduli ġiet imtejba b'mod sinifikanti, essenzjalment ibiddel lil Redis f'qafas li jippermettilek toħloq sistemi fil-forma ta 'moduli add-on.
  • Modalità ta' replikazzjoni ġiet implimentata li fiha l-fajls RDB jitħassru immedjatament wara li jkunu ġew użati.
  • Il-protokoll ta 'replikazzjoni PSYNC2 ġie mtejjeb, li għamilha possibbli li titwettaq risinkronizzazzjoni parzjali aktar spiss, billi żiedet iċ-ċansijiet li jiġu identifikati kumpensi komuni għar-replika u l-kaptan.
  • It-tagħbija tal-fajls RDB ġiet aċċellerata. Skont il-kontenut tal-fajl, l-aċċelerazzjoni tvarja minn 20 sa 30%. L-eżekuzzjoni tal-kmand INFO ġiet aċċellerata b'mod sinifikanti meta jkun hemm numru kbir ta 'klijenti konnessi.
  • Kmand STRALGO ġdid ġie miżjud bl-implimentazzjoni ta 'algoritmi kumplessi ta' pproċessar ta 'string. Bħalissa, algoritmu wieħed biss LCS (l-itwal subsekwenza komuni) huwa disponibbli, li jista 'jkun utli meta jitqabblu sekwenzi ta' RNA u DNA.

Sors: opennet.ru

Żid kumment