Mae Redis Ltd wedi cyhoeddi newid ym mholisi trwyddedu'r prosiect. Ers rhyddhau Redis 8.0, mae cod y prosiect wedi bod ar gael o dan y drwydded AGPLv3 am ddim. Gwnaed y newid i drwydded agored yn bosibl oherwydd dychweliad Salvatore Sanfilippo, crΓ«wr y Redis DBMS, i'r cwmni. Ar Γ΄l gadael Redis Ltd, datblygodd Salvador set o Setiau Fector yr oedd yn fodlon eu cyfrannu at Redis, ond roedd am i'r cod a greodd gael ei ryddhau o dan drwydded ffynhonnell agored. Llwyddodd Salvador i argyhoeddi ei gydweithwyr o ddoethineb adfer natur agored y prosiect a gwella rhyngweithio Γ’'r gymuned.
Dywedodd Rowan Trollope, cyfarwyddwr Redis Ltd, fod y symudiad i drwyddedau perchnogol y llynedd wedi cyflawni ei nod wrth i AWS a Google rannu'r fframwaith, dechrau ei gyd-ddatblygu a rhannu eu gwaith yn y gorffennol. Fodd bynnag, fe wnaeth y newid mewn trwyddedau niweidio'r berthynas Γ’'r gymuned, y bydd y cwmni nawr yn ceisio ei hadfer trwy ddychwelyd i gyflenwi cod o dan drwydded rydd.
Ar Γ΄l newid i drwyddedau perchnogol, parhaodd datblygiad y gronfa god Redis ffynhonnell agored mewn fforciau Valkey (fforc a ddatblygwyd gyda chyfranogiad Amazon, Google, Oracle, Ericsson, a Snap), Redict (fforc gan awdur rhyngwyneb defnyddiwr Sway a'r iaith Hare), Garnet (DBMS sy'n gydnaws Γ’ Redis gan Microsoft), a KeyDB (fforc perfformiad uchel o Redis 5 gan Snapchat). Ystorfeydd dosbarthu Debian 13, Ubuntu 24.10, Fedora 41, RHEL 10, Asur Linux 3 Ebrill, Arch Linux ac Alpine 3.20 cafodd y pecyn Redis ei ddisodli gan fforc o Valkey.
Rhyddhawyd Redis yn wreiddiol o dan drwydded BSD ganiataol a oedd yn caniatΓ‘u i ddatblygwyr gadw eu newidiadau'n breifat, ond ers hynny mae wedi symud i drwyddedau perchnogol RSALv2 (Redis Source Available License v2) ac SSPLv1 (Gweinyddwr Ochr y Trwydded Gyhoeddus v1). Gan ddechrau gyda Redis 8, mae cod y prosiect ar gael o dan y drwydded AGPLv3, sydd Γ’'r nodwedd o gael cyfyngiadau ar gyfer cymwysiadau sy'n darparu gwasanaethau rhwydwaith. Wrth ddefnyddio cydrannau AGPL wrth weithredu gwasanaethau rhwydwaith, mae'n ofynnol i'r datblygwr ddarparu cod ffynhonnell yr holl newidiadau a wneir i'r cydrannau hyn i'r defnyddiwr, hyd yn oed os nad yw'r feddalwedd sy'n sail i'r gwasanaeth wedi'i dosbarthu ac yn cael ei defnyddio'n gyfan gwbl yn y seilwaith mewnol ar gyfer trefnu gweithrediad y gwasanaeth. Mae'r drwydded AGPLv3 yn gydnaws Γ’'r GPLv3, ond mae'n gwrthdaro Γ’'r drwydded GPLv2.
Roedd y trwyddedau SSPL ac RSAL a ddefnyddiwyd yn flaenorol yn gwahaniaethu yn erbyn rhai categorΓ―au o ddefnyddwyr, a oedd yn eu hatal rhag cael eu hystyried yn agored neu'n rhydd. Mae'r ddwy drwydded yn debyg o ran eu hamcanion, a'r gwahaniaethau yw bod y drwydded SSPL yn seiliedig ar y drwydded copyleft AGPLv3, tra bod y drwydded RSAL yn seiliedig ar y drwydded ganiataol BSD. Mae'r drwydded RSAL yn caniatΓ‘u ichi ddefnyddio, addasu, dosbarthu ac integreiddio'r cod i gymwysiadau, ac eithrio pan fydd y cymwysiadau hynny'n fasnachol neu'n cael eu defnyddio i ddarparu gwasanaethau taledig a reolir. Mae'r drwydded SSPL hefyd yn cynnwys gofyniad i gyflwyno o dan yr un drwydded nid yn unig god y rhaglen ei hun, ond hefyd god ffynhonnell yr holl gydrannau sy'n ymwneud Γ’ darparu'r gwasanaeth cwmwl.
Ynghyd Γ’ chyhoeddiad y newid trwydded, rhyddhawyd Redis 8.0. Fodd bynnag, er gwaethaf y cyhoeddiad bod y fersiwn ar gael, dim ond ymgeisydd rhyddhau sydd yn y storfa ar hyn o bryd, ac mae'r ddolen ar gyfer lawrlwytho Redis 8.0 ar wefan y prosiect yn arwain at dudalen gyda disgrifiad cyffredinol o'r broses osod. Dim ond rhyddhau 8.0-RC1 sydd wedi'i restru yn y nodiadau rhyddhau am y tro.
Newidiadau mawr yn Redis 8.0:
- Mae math wedi'i ychwanegu ar gyfer storio setiau data fector sydd mewn galw mewn systemau dysgu peirianyddol a chwilio semantig. Mae setiau fector yn ymestyn y swyddogaeth a oedd ar gael yn flaenorol ar gyfer setiau wedi'u didoli gyda'r gallu i storio fectorau amlddimensiwn. Mae 11 gorchymyn newydd wedi'u hychwanegu ar gyfer trin data fector, fel VADD, VREM a VSIM.
- Mae'r modiwlau Redis Query Engine, JSON, Time Series, a Probabilistic Data Types, a ddarparwyd yn flaenorol fel estyniadau Redis Stack ar wahΓ’n, wedi'u mudo i'r pecyn Redis craidd.
- Mae cefnogaeth ar gyfer strwythur data JSON wedi'i integreiddio, sy'n eich galluogi i gadw dogfennau ar fformat JSON, wedi'u rhwymo i allweddi yn Redis. Gellir defnyddio iaith ymholiadau JSONPath i echdynnu dogfennau JSON yn ddetholus a chael mynediad at elfennau unigol. Mae cefnogaeth ar gyfer diweddariad atomig, sy'n eich galluogi i wneud newidiadau i feysydd unigol mewn dogfen JSON heb lwytho'r ddogfen gyfan.
- Ychwanegwyd cefnogaeth ar gyfer strwythurau data ar ffurf cyfres amser (mae cofnod yn ffurfio amser a set o werthoedd sy'n cyfateb i'r amser hwn, er enghraifft, a geir trwy arolygu cyflwr synwyryddion yn gyfnodol neu gasglu metrigau). Er mwyn lleihau'r defnydd o gof, defnyddir algorithmau cywasgu ar gyfer data o'r fath a darperir y gallu i ddiffinio rheolau ar gyfer lawr-samplu data wedi'i archifo.
- Ychwanegwyd strwythurau data tebygolrwydd: hidlydd Bloom, hidlydd Cuckoo, Count-min sketch, Top-k a t-digest, sy'n caniatΓ‘u lleihau maint y storfa yn sylweddol pan fo angen storio symiau mawr iawn o ddata ar draul colli cywirdeb wrth gyflawni rhai gweithrediadau. Mae'r "hidlydd Bloom" a'r "hidlydd Cuckoo" yn caniatΓ‘u ichi wirio a yw wedi'i gynnwys mewn set, gan ganiatΓ‘u positif ffug am elfen sydd ar goll, ond gan eithrio hepgor elfen sy'n bodoli eisoes. Mae "braslun cyfrif-munud" yn rhagweld faint o weithiau y mae gwerth yn ymddangos mewn set. Mae "Top-k" yn caniatΓ‘u ichi ddod o hyd i'r gwerthoedd sy'n digwydd amlaf. Mae "T-digest" yn caniatΓ‘u ichi samplu gwerthoedd sy'n fwy neu'n llai na gwerth penodol.
- Mae'r Redis Query Engine wedi'i gynnwys, gyda chefnogaeth ar gyfer chwiliad fector a'r gallu i gynhyrchu detholiadau yn Γ΄l cynnwys yn hytrach nag yn Γ΄l allweddi. Mae Redis Query Engine yn caniatΓ‘u ichi greu mynegeion ychwanegol ar gyfer data sydd wedi'i storio mewn hashes a dogfennau JSON.
- Cefnogaeth estynedig ar gyfer ACLs (Rhestrau Rheoli Mynediad), sy'n eich galluogi i reoli mynediad at ddata yn seiliedig ar allweddi ac yn eich galluogi i ddiffinio gwahanol setiau o reolau ar gyfer cael mynediad at orchmynion gyda'r gallu i rwymo setiau o ganiatadau i bob defnyddiwr. Er enghraifft, gan ddefnyddio ACLs gallwch ddiffinio pa ddefnyddwyr all gysylltu Γ’ Redis, pa allweddi y mae gan ddefnyddiwr fynediad atynt, a pha orchmynion y gall defnyddiwr eu gweithredu. Mae Redis 8 yn ychwanegu categorΓ―au ACL newydd ar gyfer strwythurau data newydd.
- Ychwanegwyd gorchmynion newydd ar gyfer gweithio gyda hashes:
- HGETDEL - allbynnu a dileu meysydd hash gan yr allwedd benodol.
- HGETEX - dychwelyd meysydd hash ar gyfer yr allwedd benodol a nodi eu hoes.
- HSETEX β gosodwch feysydd hash ar gyfer yr allwedd benodol a nodwch yr oes ar eu cyfer.
- Mae mwy na 30 o optimeiddiadau perfformiad wedi'u gwneud, gan arwain at rai profion yn cyflawni gweithredu gorchmynion 87% yn gyflymach, trwybwn 112% yn uwch, dyblygu 18% yn gyflymach, ac adferiad Peiriant Ymholiad Redis hyd at 16 gwaith yn gyflymach (trwy raddio llorweddol a fertigol). Wrth redeg set o 149 o brofion, dechreuodd 90 o orchmynion weithredu'n gyflymach. Mae'r trwybwn wedi cynyddu'n sylweddol oherwydd y newid i weithrediad aml-edau cydrannau ar gyfer dadansoddi gorchmynion, prosesu ceisiadau cleientiaid, darllen ac ysgrifennu i socedi rhwydwaith. Cynigir gweithrediad newydd o'r mecanwaith prosesu mewnbwn/allbwn aml-edau (io-threads).
- Mae peiriant dyblygu newydd wedi'i gyflwyno sy'n defnyddio 35% yn llai o gof ac sydd 18% yn gyflymach. Er mwyn osgoi blocio, defnyddir dau edau atgynhyrchu ar wahΓ’n - un i drosglwyddo newidiadau i'r prif nod ac un i drosglwyddo newidiadau i nodau canolradd.
I reoli data, mae Redis yn darparu gorchmynion fel cynyddu/gostwng, gweithrediadau rhestr a set safonol (uno, croestoriad), ailenwi allweddi, dewisiadau lluosog, a swyddogaethau didoli. Cefnogir dau ddull storio: cydamseru data i ddisg yn gyfnodol a chynnal log newidiadau ar y ddisg. Yn yr ail achos, gwarantir diogelwch llwyr pob newid. Cefnogir trafodion, gan ganiatΓ‘u i grΕ΅p o orchmynion gael eu gweithredu mewn un cam, gan sicrhau cysondeb a threfn (ni all gorchmynion o geisiadau eraill ymyrryd) wrth weithredu set benodol o orchmynion, a chaniatΓ‘u i newidiadau gael eu rholio'n Γ΄l rhag ofn problemau.
Mae'n bosibl trefnu atgynhyrchu data meistr-gaethwas ar sawl gweinyddwyr, wedi'i berfformio mewn modd di-rwystr. Mae modd negeseuon cyhoeddi/tanysgrifio hefyd ar gael, gan greu sianel lle mae negeseuon yn cael eu dosbarthu i gleientiaid trwy danysgrifiad. Mae'r holl ddata wedi'i storio'n llawn yn y storfa RAM. Mae llyfrgelloedd cleientiaid ar gael ar gyfer y rhan fwyaf o ieithoedd poblogaidd, gan gynnwys Perl, Python, PHP, Java, Ruby, Tcl, JavaScript/Node.js, Go, a C#.
Ffynhonnell: opennet.ru
