Redis je NoSQL in-memory key-value úložiště. Umožňuje vytvářet atomické operace nad vestavěnými datovými typy. Nejedná se o nástroj na cachování, ale o komplexní úložiště, které lze využít zároveň jako fronta, zásobník nebo message broker. Vzhledem k tomu, že je Redis dostupný i jako Azure služby, je možné ji používat jako distribuovanou mezipaměť, která má nízkou latenci, vysokou propustnost a dostupnost.
Redis zpopularizoval myšlenku, že systém může být považován zároveň za úložiště i cache, používat design, kde data jsou neustále upravovaná i čtená z hlavní paměti počítače, ale také jsou ukládána na disk ve formátu, který není vhodný pro náhodný přístup k datům, ale pouze za účelem rekonstrukce dat z paměti po restartu systému.
Zároveň Redis poskytuje datový model, který je v porovnání s jinými RDBM systémy velmi atypický, kde uživatelské příkazy nepopisují dotaz do databáze, ale specifické operace, které jsou spouštěny na daných abstraktních datových typech. Data tak musí být ukládána způsobem, který je vhodný pro následné rychlé vyvolání bez pomoci databázového systému ve formě druhotných indexů, agregací nebo jiných obvyklých funkcí RDBM.
Implementace Redis bohatě využívá Fork k duplikaci procesů držení dat, takže rodičovský proces pokračuje ve službě klientům, zatímco dceřiný proces vytváří kopii dat na disk.
Redis obvykle drží celou datovou sadu ve své paměti. Některé verze je možné nakonfigurovat na to, co Redis označuje za virtuální paměť. V takovém případě je datová sada uložena na disk. Persistence je tak dosažena dvěma způsoby. Jedním způsobem je takzvaný snaphotting a má polopersistentní trvanlivostní mód, kdy je datová sada asynchronně předána z paměti na disk ve formátu RDB. Od verze 1.1 je implementována bezpečnější alternativa AOF, který funguje jako operace modifikující datovou sadu v paměti. Redis dokáže přepisovat AOF soubory na pozadí, tak aby se vyhnul neustálému růstu zabraného místa.
Redis defaultně píše data do systému souborů nejméně každé dvě vteřiny, s více i méně robustními možnostmi, které je možné nastavit podle potřeby. V případě kompletního selhání systému jsou při defaultním nastavení ztracena data pouze za posledních několik vteřin.