Duyurulmuştur «Valkey 8.1»'in yeni sürümünün yayınlanması, Redis'in tescilli lisansa geçişinden sonra doğan ve orijinal projenin açık felsefesini korumayı amaçlayan bir çatalıdır.
Valkey8.1 Çok sayıda iyileştirme ve değişiklik içeriyor, Ana odağı gecikmeyi azaltan, bellek verimliliğini artıran ve yeni modüler yetenekler sağlayan performans iyileştirmeleri olan
Valkey 8.1'deki temel yeni özellikler
Uno en önemli değişikliklerden biri bu versiyonda karma tablonun tamamen yeniden yazılmasıHem anahtar-değer veri depolamada hem de Hash, Set ve Sorted Set gibi yapılandırılmış veri tiplerinde kullanılır. Bu yeniden tasarım sayesinde, Bellek kullanımında bir azalma sağlandı: TTL olmadan anahtar başına 20 bayt daha az, ve anahtarın tanımlanmış bir ömrü varsa 30 bayta kadar. Ayrıca, rastgele bellek erişimindeki azalma, tek iş parçacıklı G/Ç ortamlarında %10'luk bir performans artışına yol açtı.
Valkey 8.1'deki bir diğer yeni özellik ise KEYS komutu veya benzeri işlemlerde anahtarlar üzerinde yineleme yapılabilmesidir. Bir kümedeki düğümler arasındaki anahtar aktarımı artık bir önbellek ön yükleme sistemine sahip. işleme başlamadan önce bir sonraki anahtarın kullanılabilir olmasını sağlar. Bu yaklaşım, işlemci önbelleğinin daha iyi kullanılmasını sağlayarak anahtar arama hızını 3,5 kat artırdı.
Çok iş parçacıklı G/Ç ve TLS iyileştirmeleri
Valkey, çok iş parçacıklı G/Ç modeline geçişini sürdürüyor. Şimdi, TLS bağlantı işlemi ayrı akışlarda gerçekleştirilirYeni bağlantıları kabul etme kapasitesi üç katına çıkarıldı. SSL_pending() ve ERR_clear_error() gibi işlevler de ayrı iş parçacıklarına izole edilerek SET işlemlerinde %10, GET işlemlerinde ise %22 oranında performans artışı sağlandı.
Çoğaltma iyileştirildiÖzellikle etkin TLS'nin olduğu ortamlarda gereksiz kontrol toplamları gibi gereksiz işlemleri ortadan kaldırır. Bu sayede disksiz çoğaltma sırasında tam senkronizasyonda %18 oranında bir iyileştirme ve kopyalama ve yazma işlemlerinin maliyetinde %47 oranında bir azalma sağlandı.
Sıralı kümeler ve olasılıklı tipler üzerinde optimizasyonlar
El ZRANK komutu sıralı kümeler için optimize edildi ve Artık %45 daha hızlı, ZADD ise SIMD talimatlarını benimsedi daha fazla verimlilik elde etmek için. Olasılıksal veri türleri için HyperLogLog'un kullanımı yalnızca 12 KB sabit bellek kullanacak şekilde iyileştirildi ve AVX2 talimatlarının kullanılmasıyla PFMERGE ve PFCOUNT işlemlerinin performansının 12 kata kadar, BITCOUNT işlemlerinin performansının ise 5 kata kadar artırılması sağlandı.
Kesintisiz etkin birleştirme ve kayıtlar üzerinde daha fazla kontrol
El aktif birleştirme sistemi de iyileştirildi tıkanıklık veya gecikmeleri önlemek için. Artık her bir birleştirme döngüsü yalnızca 500 mikrosaniye sürüyor. ve uzun süreli operasyonlar nedeniyle bu görevlerin ertelenmesini önlemek için açlıkla mücadele stratejisi uygulandı.
Tanıtıldı Kayıt biçimlendirmesi için yeni yapılandırma seçenekleriÖzel zaman biçimleri ve uzun istekleri ve yanıtları kaydeden yeni bir COMMANDLOG modu da dahil olmak üzere. Ayrıca, LATENCY LATEST komutu yeni ölçümlerle genişletilerek kaydedilen tepe ve hacim gecikmelerine ilişkin daha fazla görünürlük sağlandı.
Yeni özellikler, modüller ve destek
Valkey artık SET IFEQ işlemini yürütmenize olanak tanır, anahtarın geçerli değere yazılmasını şart koşan. Ayrıca Komut dosyası motorları için modüler destek tanıtıldı, özel modüller aracılığıyla Lua'ya alternatif dillerin kullanılmasına olanak sağlıyor.
Bu versiyonda ayrıca birkaç modül ilk kez tanıtıldı:
- Arama Modülü (Google): Düşük gecikme ve yüksek verim gerektiren makine öğrenimi durumları için ideal olan vektör benzerlik arama motoru.
- JSON Modülü (AWS): JSON belge parçalarının doğrudan işlenmesine izin verir ve içeriğin istemcide tamamen işlenmesini önler.
- Bloom Filtre Modülü (AWS): Bir kümedeki bir elemanın olası üyeliğini olasılıksal verimlilikle belirlemede yararlı olan Bloom filtrelerinin uygulanması
Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara şuradan bakabilirsiniz: aşağıdaki bağlantı.