A Redis, a népszerű, elosztott memóriaalapú kulcs-érték adatbázis, hivatalosan is bemutatta a 8.4-es verziót, három hónappal az előző 8.2-es kiadás után. Az új verzió a Redis 8.0 alapjaira épít, és számos fejlesztést hoz a teljesítmény, a memóriahatékonyság, a keresési képességek és a klaszterkezelés terén. A fő újdonság a hibrid keresés, amely egyszerre támogatja a teljes szöveges (full-text) és a vektoralapú (vector) lekérdezéseket.
Hibrid teljes szöveges és vektoralapú keresés
A Redis 8.4 legkiemelkedőbb újítása az FT.HYBRID parancs, amely lehetővé teszi, hogy a teljes szöveges és vektoralapú keresések egyetlen lekérdezésben történjenek. Korábban a fejlesztőknek több lépésből álló logikát, kézi pontszám-egyesítést vagy külső pipeline-okat kellett használniuk, ami megnövelte a késleltetést és csökkentette a pontosságot. Az új megoldás lehetővé teszi, hogy az alkalmazások természetesebben fejezzék ki a keresési szándékot, kombinálják a szemantikus és literális egyezéseket, előnyben részesítsék a legfrissebb kontextust, valamint GEO és GEOSHAPE szűrőket alkalmazzanak.
Teljesítmény és párhuzamos feldolgozás
A fejlesztők szerint a Redis 8.4 több mint 30%-kal magasabb áteresztőképességet biztosít tipikus gyorsítótárazási scenáriókban (90% GET és 10% SET) a 8.2-es verzióhoz képest. A keresési feladatoknál is érezhető teljesítménynövekedés tapasztalható a többszálú I/O feldolgozás bevezetése révén, amely lehetővé teszi, hogy a több shard-ra szétosztott eredményhalmazokat egyidejűleg, nem pedig egyetlen szálon keresztül kezelje a rendszer. Az aggregált műveletek szintén gyorsabbak, így a munkaszálak felszabadulnak a keresési és pontozási logika végrehajtására.

Memóriahatékonyság és optimalizált tárolás
A Redis 8.4 tovább csökkenti a JSON memóriafelhasználást, optimalizálva a rövid sztringek és homogén numerikus tömbök tárolását. A legfeljebb 7 bájtos rövid sztringek most inline módon kerülnek tárolásra, ami átlagosan 37%-kal csökkenti a memóriahasználatot. A nagy numerikus tömbök esetében az elem típusa egyszer kerül eltárolásra, és a legkompaktabb biztonságos ábrázolást választja a rendszer (int, uint, BF16, FP16, FP32, FP64), így a memóriahasználat 50–92%-kal csökkenhet az értéktartománytól függően.
Új atomi műveletek és többkulcsos frissítés
Az új verzió bevezeti azokat az atomi műveleteket, amelyek korábban Lua-szkriptekre szorultak. A string kulcsok immár támogatják a compare-and-set és compare-and-delete műveleteket az új SET opciók (IFEQ, IFNE, IFDEQ, IFDNE) és az XDELEX parancs segítségével. A többkulcsos frissítések egyszerűsödnek az MSETEX használatával, amely egyetlen műveletben több kulcsot is beállít és feltételesen kezeli azok lejárati idejét.
Klaszterek és Atomic Slot Migration
A Redis klaszterekben az Atomic Slot Migration jelentős javulást hoz. Korábban a slot-ok kulcsonként kerültek áthelyezésre, ami átirányításokat, megszakadt pipeline-okat, nem konzisztens többkulcsos műveleteket és potenciális adatvesztést eredményezett hibahelyzetekben. Az Atomic Slot Migration ehelyett egész slot-ok adatait és folyamatban lévő módosításait másolja át a célcsomópontnak, majd egyszeri ownership handoff-tal adja át a tulajdonjogot. A kliens folytatja a forráscsomópont használatát az átmásolás alatt, így minimalizálva a köztes hibák és az üzemeltetési kockázat esélyét.
Elérhetőség
A Redis 8.4 már elérhető Docker Hub-on (Alpine vagy Debian képekkel), Snap, Homebrew, RPM és APT csomagkezelőkön keresztül. További részletek és a teljes bejelentés a projekt hivatalos oldalán találhatók.


