Ito ay inihayag paglabas ng bagong bersyon ng «Valkey 8.1», isang tinidor ng Redis na ipinanganak pagkatapos nitong lumipat sa isang pagmamay-ari na lisensya, at naglalayong mapanatili ang bukas na pilosopiya ng orihinal na proyekto.
Valkey 8.1 Nagtatampok ito ng malaking bilang ng mga pagpapabuti at pagbabago, na ang pangunahing pokus ay sa mga pag-optimize ng pagganap na nagpapababa ng latency, nagpapataas ng kahusayan sa memorya at mga bagong modular na kakayahan.
Mga pangunahing bagong feature sa Valkey 8.1
Ang isang sa pinakamahalagang pagbabago sa bersyong ito ay ang kumpletong muling pagsulat ng hash table, ginagamit sa parehong key-value data storage at structured data type gaya ng Hash, Set, at Sorted Set. Salamat sa muling disenyong ito, Nakamit ang pagbawas sa paggamit ng memorya: 20 bytes na mas mababa sa bawat key na walang TTL, at hanggang 30 byte kung ang key ay may tinukoy na panghabambuhay. Bilang karagdagan, ang pagbawas sa random na pag-access sa memorya ay humantong sa isang 10% na pagpapabuti ng pagganap sa mga single-threaded na I/O na kapaligiran.
Ang isa pang bagong tampok sa Valkey 8.1 ay ang pag-ulit sa mga susi sa mga operasyon tulad ng utos ng KEYS o Ang key transfer sa pagitan ng mga node sa isang cluster ay nagtatampok na ngayon ng cache preloading system, na nagpapahintulot sa susunod na key na maging available bago magsimula ang pagproseso nito. Ang diskarte na ito ay nagpapataas ng bilis ng key lookup ng 3,5 beses sa pamamagitan ng mas mahusay na paggamit ng cache ng processor.
Multi-threaded I/O at TLS improvements
Ipinagpapatuloy ni Valkey ang paglipat nito sa isang multi-threaded na modelo ng I/O. Ngayon, ang Ang pagpoproseso ng koneksyon ng TLS ay isinasagawa sa magkahiwalay na mga stream, na triple ang kapasidad na tumanggap ng mga bagong koneksyon. Ang mga function tulad ng SSL_pending() at ERR_clear_error() ay nahiwalay din sa magkahiwalay na mga thread, na nagreresulta sa 10% na pagtaas ng performance para sa mga operasyon ng SET at 22% na pagtaas para sa mga operasyon ng GET.
Ang pagtitiklop ay napabuti, lalo na sa mga kapaligiran na may aktibong TLS, na inaalis ang mga paulit-ulit na operasyon gaya ng mga hindi kinakailangang checksum. Nagresulta ito sa isang 18% na pagpapabuti sa buong pag-synchronize sa panahon ng diskless replication at isang 47% na pagbawas sa gastos ng mga operasyon sa pagkopya at pagsulat.
Mga pag-optimize sa mga ordered set at probabilistic na uri
El utos ng ZRANK para sa mga ordered set ay na-optimize at Ito ay 45% na mas mabilis, habang ang ZADD ay nagpatibay ng mga tagubilin sa SIMD upang makamit ang higit na kahusayan. Para sa mga probabilistic na uri ng data, ang paggamit ng HyperLogLog ay napabuti upang gumamit lamang ng 12 KB ng fixed memory, at ang paggamit ng mga tagubilin sa AVX2 ay nagbigay-daan sa pagganap ng PFMERGE at PFCOUNT na mga operasyon na ma-multiply ng hanggang 12 beses, at BITCOUNT ng hanggang 5 beses.
Walang patid na aktibong defragmentation at higit na kontrol sa mga rehistro
El Ang aktibong sistema ng defragmentation ay napabuti din upang maiwasan ang pagbara o pagkaantala. Ngayon, ang bawat cycle ng defragmentation ay tumatagal lamang ng 500 microseconds, at isang diskarte laban sa gutom ay ipinatupad upang maiwasan ang mga gawaing ito na ipagpaliban dahil sa mga pangmatagalang operasyon.
Ipinakilala Mga bagong opsyon sa pagsasaayos para sa pag-format ng tala, kabilang ang mga custom na format ng oras at isang bagong COMMANDLOG mode na nagla-log ng mahahabang kahilingan at tugon. Bukod pa rito, pinalawak ang LATENCY LATEST command gamit ang mga bagong sukatan, na nagbibigay ng higit na visibility sa peak at volume latency na naitala.
Mga bagong feature, module at suporta
Valkey ngayon ay nagpapahintulot sa iyo na isagawa ang SET IFEQ operation, na nagkondisyon sa pagsulat ng isang susi sa kasalukuyang halaga. Gayundin Ang modular na suporta para sa mga script engine ay ipinakilala, binubuksan ang posibilidad ng paggamit ng mga alternatibong wika sa Lua sa pamamagitan ng mga custom na module.
Sa bersyon na ito din ilang mga module debut:
- Search Module (Google): Vector similarity search engine, perpekto para sa mga kaso ng machine learning na nangangailangan ng mababang latency at mataas na throughput.
- JSON Module (AWS): nagbibigay-daan sa direktang pagmamanipula ng mga fragment ng dokumento ng JSON, pag-iwas sa kumpletong pagproseso ng nilalaman sa kliyente.
- Bloom Filter Module (AWS): Pagpapatupad ng mga filter ng Bloom, kapaki-pakinabang para sa pagtukoy ng posibleng pagiging miyembro ng isang elemento sa isang set, na may probabilistikong kahusayan
Panghuli, kung interesado kang malaman ang higit pa tungkol dito, maaari mong konsultahin ang mga detalye sa sumusunod na link.