A Redis 8.4 kiadása

Megjelent a Redis 8.4 kiadása, amely a NoSQL rendszerek osztályába tartozik. A Redis funkciókat kínál az adatok kulcs/érték formátumban való tárolására, kibővítve a strukturált adatformátumok, például listák, hashek és halmazok támogatásával, valamint lehetőséget biztosít Lua nyelvű feldolgozó szkriptek végrehajtására a szerver oldalán. A projekt kódja C nyelven íródott, és AGPLv3 licenc alatt terjesztik.

A Redis támogatja a tranzakciókat, amelyek lehetővé teszik, hogy egy lépésben végrehajtsunk egy parancsgyűjteményt, garantálva az összeférhetőséget és a folyamatosságot (más kérdések parancsai nem tudnak beékelődni) a megadott parancsgyűjtemény végrehajtása során, és problémák esetén lehetővé teszi a módosítások visszavonását. Minden adat teljes mértékben a memóriában kerül tárolásra. Ügyfélkönyvtárak elérhetők a legnépszerűbb nyelvekhez, beleértve a Perl, Python, PHP, Java, Ruby és Tcl nyelveket is.

Az adatok kezelésére olyan parancsokat biztosítanak, mint az inkrementálás/dekrementálás, a listák és halmazok standard műveletei (egyesítés, metszet), a kulcsok átnevezése, többszörös kiválasztás és rendezési funkciók. Két tárolási mód támogatott: az adatok időszakos szinkronizálása a lemezre, valamint a változások naplózása a lemezen. A második esetben a módosítások teljes biztonsággal garantáltan megmaradnak. Lehetséges master-slave adatmásolás több szerverek, amely nem blokkoló módban történik. Elérhető a "publikálás/előfizetés" üzenetváltási mód is, amelyben egy csatorna jön létre, és az azon lévő üzenetek a feliratkozó ügyfelek számára terjednek.

A Redis 8.4 legfontosabb változásai:

  • Hozzáadásra került az "FT.HYBRID" parancs, amely megvalósítja a hibrid keresést, kombinálva egy lekérdezésben a teljes szöveges és vektoros keresés képességeit, figyelembe véve mind a közvetlen egyezéseket, mind a jelentésbeli közelségeket. Támogatottak az eredmények aggregálásának lehetőségei az "FT.AGGREGATE" parancs szintaxisával.
  • Növelték a Redis tipikus alkalmazásaiban a átviteli kapacitást a gyorsítótárazás során. Például olyan terheléseknél, amelyek 10%-os írási (SET) és 90%-os olvasási (GET) műveleteket tartalmaznak, és 1 KB méretű sztring értékeket tárolnak, a kapacitás-növekedés 30% volt.
    A Redis 8.4 kiadása
  • A lekérdezési (FT.SEARCH) és az eredmények aggregálásának (FT.AGGREGATE) teljesítménye jelentősen megnövekedett. Nagy terhelésű rendszerekben, ahol sok párhuzamos kérés fut, a keresési sávszélesség akár 4,7-szeres növelését és az eredmények aggregálásánál 1,4-szeres csökkenést tapasztaltunk.
    A Redis 8.4 kiadása
  • Optimalizáltuk a memóriaelhelyezés folyamatát a lekérdezések végrehajtásakor, valamint lehetőséget biztosítottunk a memóriahiányos helyzetek kezelésére (OOM - Out Of Memory).
  • Csökkentettük a kis sztringek (maximum 7 bájt) tárolásához szükséges memóriafogyasztást JSON típusú struktúrákban. Például egy 500 kis kulcs/érték párt tartalmazó JSON tömb most 37%-kal kevesebb memóriát igényel.
  • Növeltük a JSON numerikus tömbök tárolási hatékonyságát, ahol minden elem azonos típusú (korábban minden elemhez mentve volt a típus és az érték, most a típus csak egyszer van mentve az egész tömb számára). A végzett teszt során az ilyen tömbök, amelyek egymillió azonos elemhez tartoznak, most 50-92%-kal kevesebb memóriát igényelnek a típustól függően.
  • A SET parancshoz hozzáadtuk az IFEQ, IFNE, IFDEQ és IFDNE opciókat, amelyek lehetővé teszik egyetlen parancs használatát a sztring kulcs frissítésére olyan helyzetekben, amikor a hozzá tartozó értéket nem változtatta meg másik kliens az érték lekérése óta.
  • Hozzáadtuk az XDELEX parancsot, amely atomikusan eltávolítja a sztring kulcsot, ha a hozzá tartozó érték nem változott az érték lekérése óta.
  • Hozzáadtuk a DIGEST parancsot, amely egy hash-t ad vissza a megadott kulcshoz tartozó értékről.
  • Az XREADGROUP parancshoz hozzáadtuk a "CLAIM " opciót, amely lehetővé teszi az inaktív (idle pending) és az érkező (incoming) üzenetek olvasását.
  • Hozzáadtuk az MSETEX parancsot, amely atomikusan állítja be vagy frissíti egyszerre több sztring kulcsot, valamint frissíti azok élettartamát.
  • Bevezettük az atomic slot migration (ASM) mechanizmust, ami az atomikus slot migrációt jelenti a klaszter csomópontjai között, és hasonlít a teljes szinkron replikációra, de az egyes adat tároló slotok szintjén működik. Hozzáadtuk a CLUSTER MIGRATION parancsot, amellyel slotokat importálhatunk más csomópontokról, nyomon követhetjük a migrációs folyamatot, és ha szükséges, megjelölhetjük a várakozó migrációs műveleteket.
  • Hozzáadva egy CLUSTER SLOT-STATS parancs a statisztikák értékelésére a klaszter egyes slotjai szempontjából, például a kulcsok száma, a CPU terhelése és a hálózati bemenet/kimenet.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster