Redis je multiplatformní source-available in-memory úložiště, sloužící jako distribuovaná NoSQL databáze typu klíč-hodnota, cache a message broker. Vzhledem k tomu, že všechna data uchovává v paměti, nabízí Redis čtení a zápis s nízkou latencí. Původně byl vyvinut Salvatorem Sanfilippem v roce 2009. Nyní je podporován firmou Redis Ltd. (dříve Redis Labs), která spravuje komunitní i komerční varianty.

Redis je nejpopulárnější NoSQL databáze typu klíč-hodnota, a je jednou z nejpopulárnějších databází vůbec. Využívají ho například X (dříve Twitter), AirBnB, Tinder, Yahoo, Adobe, Hulu nebo Amazon.

Redis podporuje různé druhy abstraktních datových struktur, jako jsou řetězce, seznamy, mapy, množiny, setříděné množiny, HyperLogLogs, bitové mapy, streamy a prostorové indexy.

Historie Projekt Redis začal, když se Salvatore Sanfilippo snažil zlepšit škálovatelnost svého italského startupu, který vyvíjel analyzátor webových protokolů v reálném čase. Poté, co narazil na značné problémy při škálování některých typů pracovních zátěží pomocí tradičních databázových systémů, začal Sanfilippo v roce 2009 vytvářet prototyp první verze systému Redis v jazyce Tcl.

V červnu 2015 začala vývoj sponzorovat společnost Redis Labs (nyní Redis Ltd.). V srpnu 2018 společnost Redis Labs oznámila přechod Server Side Public License pro některé volitelné moduly dostupné pro Redis, přičemž potvrdila, že jádro softwaru zůstává pod licencí BSD.

Vlastnosti Redis nabízí mnoho funkcí, které ho odlišují od tradičních databází:

In-memory ukládání – Redis uchovává data v paměti, což mu umožňuje dosahovat nízké latence. Persistence – Redis umožňuje uložení dat na disk, čímž poskytuje možnost obnovit stav databáze po restartu. Podpora datových struktur – Redis podporuje různé struktury, jako jsou seznamy, množiny, hashované mapy a podobně.

Použití Redis se často využívá jako cache, message broker nebo základní databáze v různých aplikacích, od malých webových aplikací po rozsáhlé systémy. Za nejčastější použití Redisu se považuje využití v relační paměti, mezipaměti stránek, řízení front, zprostředkování zpráv nebo analýzy v reálném čase.

Reference

Externí odkazy

Oficiální stránky Zdrojový kód na GitHubu

Kategorie:Open-source Kategorie:Databáze