Avalikustatud on Redis 8.2, mis kuulub NoSQL andmebaaside klassi. Redis pakub vÔimalusi andmete salvestamiseks vÔtme/vÀÀrtuse formaadis, millele lisanduvad struktureeritud andmevormingud nagu loendid, hash'id ja hulgad ning vÔimalus tÀita serveripoolset skriptimist Lua keeles. Projekti kood on kirjutatud C keeles ja see levitakse AGPLv3 litsentsi alusel.
Redis andmebaas toetab tehingute tegemist, mis vĂ”imaldavad rĂŒhmade kĂ€ske ĂŒhes sammuga tĂ€ita, tagades ĂŒhtsuse ja jĂ€rjepidevuse (teised pĂ€ringud ei saa sekkuda) antud kĂ€skude komplekti tĂ€itmisel, ja probleemide korral vĂ”imaldavad muudatused tagasi vĂ”tta. KĂ”ik andmed salvestatakse tĂ€ielikult vahemĂ€lu mĂ€llu. Klientide teegid on saadaval enamikus populaarsetes keeltes, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl.
Andmete haldamiseks on saadaval sellised kĂ€sud nagu inkrement-/dekrement, tavalised toimingud loendite ja hulkadega (ĂŒhendamine, ristumine), vĂ”tmete ĂŒmbernimetamine, mitme valiku tegemine ja sorteerimisfunktsioonid. Toetatakse kahte salvestusreĆŸiimi: andmete perioodne sĂŒnkroonimine diskiga ja muudatuste logimise pidamine. Teise juhtumi korral tagatakse kĂ”igi muudatuste tĂ€ielik sĂ€ilitamine. On vĂ”imalik korraldada master-slave andmete replikatsiooni mitmesse serverite, mis toimub blokeerimata reĆŸiimis. Saadaval on ka sĂ”numite vahetamise reĆŸiim âpublikatsioon/annetusâ, kus luuakse kanal, mille teated levivad tellijatele.
Redis 8.2 peamised muudatused:
- Optimeeriti ĂŒle 70 kĂ€sku, mis töötavad nĂŒĂŒd kiiremini kui Redis 8.0. NĂ€iteks kĂ€sk BITCOUNT on 35% kiiremini, samas kui kĂ€skude LINSERT, LREM ja LPOS kiirus on suurenenud 25%. 17 optimeeritud kĂ€sku on kiiremad vĂ€hemalt 5% ja 52 vĂ€hemalt 2%.

- Teostatud on optimeerimised samaaegsete operatsioonide töötlemise ja mitme tĂ”u vaba/moodul sisendi/vĂ€ljundi kĂ€sitsemise koodis, vĂ”imaldades suurendada töödeldavate operatsioonide arvu sekundis testides 8 sisendi/vĂ€ljundi niidiga 49% vĂ”rra, kus 20% pĂ€ringutest on kirjutamiseks ja 80% lugemiseks. Ăhel serveril Ă”nnestus ĂŒletada 1 miljoni töödeldud operatsiooni piiri sekundis.

- Andmete salvestamise meetod on pĂ”himĂ”tteliselt muutunud vĂ”tme/vÀÀrtuse formaadis â nĂŒĂŒd kasutatakse salvestamiseks ĂŒhtset struktuuri kvobj, mis vĂ”imaldab pakkida vĂ”tmenime, lĂŒhikese vÀÀrtuse ja eluea ĂŒhte mĂ€luplokki ning piirduda selle struktuuri ĂŒhe viitega rĂ€sitabelites, selle asemel, et kasutada eraldi viiteid vĂ”tmetele, andmetele ja TTL-le. LĂŒhikeste stringivÀÀrtuste salvestamisel vĂ”imaldas uus salvestamismeetod vĂ€hendada mĂ€lutarbimist 25â37%.

- Andmete salvestamise optimiseerimine JSON-formaadis, mis vĂ”imaldab vĂ€hendada mĂ€lu kasutamist 25â67% tĂ€isarvude ja ujuvkomaga numbrite salvestamisel.
- SĂ”numivoogude töötlemiseks ja salvestamiseks kasutatavates Streams mehhanismis on lisatud uued kĂ€sud XACKDEL ja XDELEX, mis lihtsustavad mitme tarbija (consumer groups) ĂŒhendusega voogude töötlust. Need kĂ€sud aitavad lahendada sĂ”numi eemaldamise probleemi alles pĂ€rast seda, kui kĂ”ik töötlejad on selle vastuvĂ”tmist kinnitanud.
- BITOP kÀsule, mis on mÔeldud bitivÔrkude operatsioonide tÀitmiseks, on lisatud uued loogilised operaatorid DIFF, DIFF1, ANDOR ja ONE.
- Lisatud uus vektorite indeksitĂŒĂŒp SVS-VAMANA, mis toetab vektorite pakkimist.
- Lisatud uued mÔÔdikud: koormus eraldi slotide kaupa ja vĂ”tme suuruste jaotus pĂ”hitatud andmetĂŒĂŒpide jaoks.
Allikas: opennet.ru



