Rilis Redis 7.0 DBMS

Rilis Redis 7.0 DBMS, sing kalebu kelas sistem NoSQL, wis diterbitake. Redis nyedhiyakake fungsi kanggo nyimpen data kunci/nilai, ditambah karo dhukungan kanggo format data terstruktur kayata dhaptar, hash, lan set, uga kemampuan kanggo mbukak panangan skrip sisih server ing Lua. Kode proyek diwenehake miturut lisensi BSD. Modul tambahan sing nawakake kemampuan canggih kanggo pangguna perusahaan, kayata RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, wis diwenehake miturut lisensi RSAL proprietary wiwit 2019. Proyek GoodFORM, sing bubar mandheg, nyoba nerusake pangembangan versi mbukak modul kasebut miturut lisensi AGPLv3.

Ora kaya sistem panyimpenan ing memori kayata Memcached, Redis njamin yen data disimpen terus-terusan ing disk lan mesthekake yen database tetep utuh yen ana kacilakan. Kode sumber proyek kasebut disebarake miturut lisensi BSD. Pustaka klien kasedhiya kanggo basa sing paling populer, kalebu Perl, Python, PHP, Java, Ruby, lan Tcl. Redis ndhukung transaksi, sing ngijini sampeyan kanggo nglakokaké klompok printah ing siji langkah, njamin konsistensi lan konsistensi (prentah saka panjalukan liyane ora bisa ngganggu) ing eksekusi pesawat tartamtu saka printah, lan ing cilik saka masalah, ngijini sampeyan kanggo muter maneh. malih. Kabeh data wis kebak cache ing RAM.

Printah kayata increment / decrement, dhaptar standar lan operasi set (union, intersection), ganti jeneng tombol, macem-macem pilihan, lan fungsi ngurutake kasedhiya kanggo manajemen data. Rong mode panyimpenan didhukung: sinkronisasi data menyang disk lan pangopènan log pangowahan ing disk. Ing kasus kapindho, safety lengkap kabeh owah-owahan dijamin. Sampeyan bisa ngatur replikasi data master-slave menyang sawetara server, sing ditindakake ing mode non-blocking. Mode olahpesen "nerbitake / langganan" uga kasedhiya, ing ngendi saluran digawe, pesen saka sing disebarake menyang klien kanthi langganan.

Owah-owahan utama ing Redis 7.0:

  • Dhukungan ditambahake kanggo fungsi sisih server. Ora kaya skrip sing didhukung sadurunge ing basa Lua, fungsi kasebut ora ana gandhengane karo aplikasi kasebut lan ditujokake kanggo ngetrapake logika tambahan sing nambah kemampuan server. Fungsi diproses inextricably karo data lan ing hubungan kanggo database, lan ora kanggo aplikasi, kalebu replikasi lan disimpen ing panyimpenan ngengkel.
  • A edition kapindho ACL wis ngajokaken, sing ngijini sampeyan kanggo ngontrol akses kanggo data adhedhasar tombol lan ngijini sampeyan kanggo nemtokake set beda saka aturan kanggo akses printah karo kemampuan kanggo ikatan sawetara pamilih (set ijin) kanggo saben pangguna. Saben tombol bisa diidentifikasi karo wewenang tartamtu, contone, sampeyan bisa matesi akses mung maca utawa nulis subset tombol tartamtu.
  • Implementasi partisi (sharded) saka paradigma distribusi pesen Publish-Langganan sing mlaku ing kluster diwenehake, ing ngendi pesen dikirim menyang simpul tartamtu sing saluran pesen ditempelake, sawise pesen iki dialihake menyang node sing isih ana. ing beling. Klien bisa nampa pesen kanthi langganan saluran, kanthi nyambungake menyang simpul utama lan menyang simpul sekunder saka bagean kasebut. Kontrol ditindakake nggunakake perintah SSUBSCRIBE, SUNSUBSCRIBE lan SPUBLISH.
  • Dhukungan tambahan kanggo ngolah subcommand ing umume konteks.
  • Prentah anyar ditambahake:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNGSI *, FCALL, FCALL_RO.
    • COMMAND DOCS, DAFTAR PUSTAKA.
    • HISTOGRAM LATENSI.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • KLIEN NO-EVICT.
    • ACL DRYRUN.
  • Kemampuan kanggo ngolah macem-macem konfigurasi bebarengan ing siji CONFIG SET / GET telpon wis kasedhiya.
  • Opsi "-json", "-2", "-scan", "-functions-rdb" wis ditambahake menyang sarana redis-cli.
  • Kanthi gawan, akses klien menyang setelan lan printah sing mengaruhi keamanan dipatèni (contone, DEBUG lan MODULE printah dipatèni, ngganti konfigurasi karo panji PROTEKSI_CONFIG dilarang). Redis-cli ora ngasilake prentah sing ngemot data sensitif menyang file riwayat.
  • Sebagéyan gedhé optimasi wis dikenalaké kanggo nambah kinerja lan ngurangi konsumsi memori. Contone, konsumsi memori wis suda sacara signifikan nalika ngaktifake mode kluster, nalika nindakake operasi copy-on-write, lan nalika nggarap hash lan tombol zset. Logika sing luwih apik kanggo ngresiki data menyang disk (panggilan fsync). Jumlah paket jaringan lan panggilan sistem nalika ngirim respon menyang klien wis suda. Efisiensi replikasi wis ditingkatake.
  • Kerentanan CVE-2022-24735 ing lingkungan kanggo ngeksekusi skrip Lua wis didandani, sing ngidini sampeyan ngganti kode Lua dhewe lan entuk eksekusi ing konteks pangguna liyane, kalebu sing duwe hak istimewa sing luwih dhuwur.
  • Kerentanan tetep CVE-2022-24736, sing ngidini proses redis-server nabrak amarga NULL pointer dereference. Serangan kasebut ditindakake kanthi ngemot skrip Lua sing dirancang khusus.

Source: opennet.ru

Add a comment