Ukukhishwa kwe-Redis 7.0 DBMS

Ukukhishwa kwe-Redis 7.0 DBMS, okuyingxenye yezinhlelo ze-NoSQL, kushicilelwe. I-Redis ihlinzeka ngemisebenzi yokugcina idatha yokhiye/inani, ethuthukiswa ukusekelwa kwamafomethi edatha ahlelekile njengohlu, ama-hashi, namasethi, kanye nekhono lokusebenzisa izibambi zeskripthi sohlangothi lweseva ngesi-Lua. Ikhodi yephrojekthi inikezwa ngaphansi kwelayisensi ye-BSD. Amamojula engeziwe anikezela ngamakhono athuthukile kubasebenzisi bezinkampani, njenge-RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, anikezwe ngaphansi kwelayisensi yobunikazi ye-RSAL kusukela ngo-2019. Iphrojekthi ye-GoodFORM, esanda kuncipha, yazama ukuqhubeka nokuthuthukiswa kwezinguqulo ezivulekile zalawa mamojula ngaphansi kwelayisensi ye-AGPLv3.

Ngokungafani nezinhlelo ze-in-memory storage ezifana ne-Memcached, i-Redis iqinisekisa ukuthi idatha igcinwa ngokuqhubekayo kudiski futhi iqinisekisa ukuthi isizindalwazi sihlala sinjalo uma kwenzeka kuphahlazeka. Ikhodi yomthombo yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-BSD. Imitapo yolwazi yamaklayenti iyatholakala ngezilimi ezidume kakhulu, okuhlanganisa i-Perl, i-Python, i-PHP, i-Java, i-Ruby, ne-Tcl. I-Redis isekela ukuthengiselana, okukuvumela ukuthi wenze iqembu lemiyalo ngesinyathelo esisodwa, uqinisekise ukuvumelana nokuvumelana (imiyalo evela kwezinye izicelo ayikwazi ukuphazamisa) ekwenzeni isethi yemiyalo enikeziwe, futhi uma kunezinkinga, ikuvumela ukuthi ubuyele emuva. izinguquko. Yonke idatha ifakwe kunqolobane ngokugcwele ku-RAM.

Imiyalo efana nokwenyuka/ukwehla, uhlu olujwayelekile kanye nokusebenza kokusetha (inyunyana, ukuphambana komgwaqo), ukuqamba kabusha ukhiye, ukukhetha okuningi, nemisebenzi yokuhlunga kunikezwa ukuphathwa kwedatha. Kusekelwa izindlela ezimbili zokugcina: ukuvumelanisa ngezikhathi ezithile idatha kudiski nokugcinwa kwelogi yoshintsho kudiski. Esimweni sesibili, ukuphepha okuphelele kwazo zonke izinguquko kuqinisekisiwe. Kungenzeka ukuhlela ukuphindaphinda kwedatha ye-master-slave kumaseva amaningana, okwenziwa ngemodi engavimbeli. Imodi yemiyalezo ethi "shicilela/bhalisa" nayo iyatholakala, lapho kwakhiwa khona isiteshi, imilayezo esuka lapho isakazwa kumakhasimende ngokubhalisa.

Izinguquko ezibalulekile ku-Redis 7.0:

  • Kwengezwe usekelo lwemisebenzi eseceleni kweseva. Ngokungafani nemibhalo esekelwe ngaphambilini ngolimi lwesi-Lua, imisebenzi ayiboshelwe kuhlelo lokusebenza futhi ihloselwe ukusebenzisa ingqondo eyengeziwe enweba amandla eseva. Imisebenzi icutshungulwa ngokungenakuhlukaniswa ngedatha futhi ngokuhlobene nesizindalwazi, futhi hhayi nohlelo lokusebenza, okuhlanganisa ukuphindwaphindwa nokugcinwa kwisitoreji esiqhubekayo.
  • Kuhlongozwe uhlelo lwesibili lwe-ACL, olukuvumela ukuthi ulawule ukufinyelela kudatha ngokusekelwe kokhiye futhi ikuvumela ukuthi uchaze amasethi ahlukene wemithetho yokufinyelela imiyalo enekhono lokubopha abakhethi abambalwa (amasethi ezimvume) kumsebenzisi ngamunye. Ukhiye ngamunye ungakhonjwa ngesiphathimandla esithile, isibonelo, ungakhawulela ukufinyelela ekufundeni noma ekubhaleni isethi ethile yokhiye.
  • Ukuqaliswa okuhlukanisiwe (okwabiwe) kwepharadigm yokusabalalisa umlayezo we-Shicilela-Bhalisa esebenza kuqoqo kunikezwa, lapho umlayezo uthunyelwa endaweni ethile lapho isiteshi somlayezo sinamathiselwe khona, ngemva kwalokho lo mlayezo uqondiswa kabusha kumanodi asele afakiwe. emgodleni. Amaklayenti angathola imilayezo ngokubhalisela isiteshi, kokubili ngokuxhuma endaweni eyinhloko kanye namanodi esibili esigaba. Ukulawula kwenziwa kusetshenziswa imiyalo ethi SSUBSCRIBE, SUNSUBSCRIBE kanye ne-SPUBLISH.
  • Kwengezwe usekelo lokucubungula imiyalo engaphansi kuzimo eziningi.
  • Imiyalo emisha yengeziwe:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, BHALISA, SUNSUBSCRIBE, PUBSUB SHAARDCHANNELS/SHADNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • UMSEBENZI *, FCALL, FCALL_RO.
    • KOMAND AMADOCSI, UHLU LOMYALELO.
    • I-LATENCY HIstoGRAM.
    • CLUSTER SHArds, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • CLIENT NO-EVICT.
    • ACL DRYRUN.
  • Ikhono lokucubungula izilungiselelo eziningi ngesikhathi esisodwa ocingweni olulodwa lwe-CONFIG SET/GET linikeziwe.
  • Izinketho “-json”, “-2”, “-scan”, “-functions-rdb” zengezwe kuhlelo lokusebenza lwe-redis-cli.
  • Ngokuzenzakalela, ukufinyelela kweklayenti kuzilungiselelo nemiyalo ethinta ukuvikeleka kukhutshaziwe (ngokwesibonelo, imiyalo ye-DEBUG ne-MODULE ivaliwe, ukushintsha ukulungiselelwa ngefulegi le-PROTECTED_CONFIG akuvunyelwe). I-Redis-cli ayisakhiphi imiyalo equkethe idatha ebucayi kufayela lomlando.
  • Ingxenye enkulu yokulungiselelwa kwethulwe okuhloswe ngayo ukukhulisa ukusebenza nokunciphisa ukusetshenziswa kwenkumbulo. Isibonelo, ukusetshenziswa kwememori kwehliswe kakhulu lapho kuvumela imodi yeqoqo, lapho wenza imisebenzi yokukopisha-phezu kokubhala, nalapho usebenza ngama-hashes nokhiye be-zset. Ingqondo ethuthukisiwe yokukhipha idatha kudiski (ucingo lwe-fsync). Inani lamaphakethe enethiwekhi nezingcingo zesistimu uma uthumela izimpendulo eklayentini lehlisiwe. Ukusebenza kahle kokuphindaphinda kwenziwe ngcono.
  • Ukuba sengozini kwe-CVE-2022-24735 endaweni yokusebenzisa imibhalo ye-Lua kulungisiwe, okukuvumela ukuthi ufake eyakho ikhodi ye-Lua futhi ufeze ukusetshenziswa kwayo kumongo womunye umsebenzisi, okuhlanganisa onezimvume eziphakeme.
  • Ukuba sengozini okulungisiwe CVE-2022-24736, okuvumela inqubo ye-redis-server ukuthi iphahlazeke ngenxa ye-NULL pointer dereference. Ukuhlasela kwenziwa ngokulayishwa kwemibhalo ye-Lua eklanywe ngokukhethekile.

Source: opennet.ru

Engeza amazwana