az adatbázis-kezelő rendszer kiadása , amely a NoSQL rendszerek osztályába tartozik. A Redis hasonló funkciókat kínál, mint a Memcached, kulcs/érték formátumban történő adatmentésre, kiterjesztve a strukturált adatformátumok támogatásával, mint például listák, hash-ek és halmazok, valamint Lua nyelvű feldolgozó szkriptek futtatásának lehetőségével. A projekt kódja BSD licenc alatt elérhető. További modulok, amelyek kiterjesztett lehetőségeket kínálnak a vállalati felhasználók számára, mint például a RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, a múlt év óta RSAL szabadalmazott licenc alatt elérhető. A nyílt forráskódú változatok ezen modulok alatt az AGPLv3 licenc alatt folytatódnak. .
A Memcached-del ellentétben a Redis tartós adatmentést biztosít a lemezen, és garantálja az adatbázis megőrzését váratlan leállás esetén. A projekt forráskódja BSD licenc alatt áll rendelkezésre. Az ügyféltárak a legnépszerűbb nyelvekhez érhetők el, beleértve a Perl, Python, PHP, Java, Ruby és Tcl nyelveket. A Redis támogatja a tranzakciókat, így egy lépésben lehet végrehajtani egy parancsok csoportját, garantálva a konzisztenciát és a következetességet (más lekérdezések nem tudnak beavatkozni) a megadott parancskészlet végrehajtásába, és problémák esetén lehetőséget nyújt a változások visszaállítására. Minden adat teljes mértékben cache-elve van a memóriában.
Az adatok kezelésére olyan parancsok állnak rendelkezésre, mint az inkrementálás/dekrementálás, standard műveletek listákon és halmazokon (egyesítés, metszeni), kulcsok átnevezése, többszörös lekérések és rendezési funkciók. Két tárolási mód támogatott: periódikus adatmentés a lemezre és a változások naplózásának kezelése a lemezen. A második esetben garantálható a változások teljessége. Lehetséges master-slave adatreplikáció szervezése több szerver között, nem blokkoló módban. Elérhető továbbá egy „kiadás/előfizetés” üzenetváltási mód, amely csatornát hoz létre, és az abban lévő üzeneteket a feliratkozott ügyfeleknek terjeszti.
Kulcsok , amelyeket a Redis 6.0 verzióba adtak hozzá:
- Alapértelmezés szerint egy új RESP3 protokollt javasolnak, de a kapcsolat létrehozása RESP2 módban kezdődik, és az ügyfél csak akkor vált a új protokollra, ha a kapcsolat megállapodásakor egy új HELLO parancsot használnak. A RESP3 lehetővé teszi bonyolult adatok közvetlen visszaadását anélkül, hogy a kliens oldalán általános tömböket kellene konvertálni, és elválasztja a visszaadott típusokat.
- Hozzáférés-ellenőrzési listák (), amelyek lehetővé teszik, hogy pontosan meghatározzák, hogy milyen műveleteket lehet végrehajtani az ügyfél által, és melyeket nem. Az ACL lehetőséget ad a fejlesztési hibák elleni védelemre is; például egy BRPOPLPUSH műveletet végrehajtó feldolgozónak meg lehet akadályozni a többi működés végrehajtását. Ha a munkakódban véletlenül elfelejtenek egy FLUSHALL hívást, amelyet hibakereséskor adtak hozzá, az nem okoz problémát. Az ACL megvalósítása nem jár extra költségekkel és gyakorlatilag nem befolyásolja a teljesítményt. Az ACL-hez interfész modulok is készültek, amelyek lehetővé teszik a saját hitelesítési módszerek létrehozását. Az ACL megsértéseinek megtekintésére az „ACL LOG” parancs áll rendelkezésre. A kiszámíthatatlan munkamenet kulcsok generálására hozzáadták az „ACL GENPASS” parancsot, amely HMAC-ot használ SHA256 alapján.
- Támogatás a kliens és a szerver közötti kommunikációs csatorna titkosítására.
- az adatok gyorsítótárazása az ügyfél oldalán. A kliens oldalán található gyorsítótár állapotával való összehangolásra két mód érhető el: 1. A szerveren tárolni a korábban lekért kulcsokat, hogy tájékoztathassák az ügyfelet a kliens gyorsítótárában lévő bejegyzések elavulásáról. 2. A 'broadcasting' mechanizmus, amelyben az ügyfél feliratkozik bizonyos kulcsprefixekre, és a szerver értesíti őt, ha a prefixek alá tartozó kulcsok megváltoznak. A 'broadcasting' mód előnye, hogy a szerveren nem pazarolnak el extra memória tárhelyet a kliens oldalán gyorsítótárazott értékek térképének tárolására, hátránya pedig a továbbított üzenetek számának növekedése.
- A Disque üzenetbróker, amely lehetővé teszi a Redis használatát üzenetsorok kezelésére, alapvető összetételéből kiemelve a .
- az „Alkalmazás” eszköz , proxy a Redis szerver klaszter számára, amely lehetővé teszi az ügyfél számára, hogy több Redis szervert egy példányként kezeljen. A proxy képes irányítani a kéréseket a szükséges adatokkal rendelkező csomópontokhoz, multiplexálni a kapcsolatokat, újrakonfigurálni a klasztert, ha csomóponti hibákat észlel, valamint végrehajtani a több csomópontot érintő kéréseket.
- Jelentősen javult az API modulok írásához, lényegében átalakítva a Redis-t egy keretrendszerré, amely lehetővé teszi a moduláris rendszerek létrehozását.
- Bevezetésre került a replikációs mód, amelyben az RDB fájlok azonnal törlésre kerülnek, miután felhasználásra kerültek.
- Javították a PSYNC2 replikációs protokollt, ami lehetővé tette a részleges újraszinkronizálás gyakoriságának növelését, a replika és a mester közötti eltérés felismerésének javított esélyei révén.
- Felgyorsult az RDB fájlok betöltése. A fájl tartalmától függően a gyorsulás 20-30% között változik. A INFO parancs végrehajtása jelentősen felgyorsult, ha sok csatlakoztatott kliens van.
- Új STRALGO parancs került bevezetésre, amely komplex karakterlánc-feldolgozási algoritmusokat implementál. Jelenleg csak egy algoritmus érhető el, az LCS (leghoszabb közös szekvencia), amely hasznos lehet az RNS és DNS szekvenciák összehasonlításakor.
Forrás: opennet.ru
