Redis (skrót od Remote Dictionary Service) jest otwartą (ang. open source), pamięciową (ang. in-memory) bazą NoSQL przechowującą dane jako pary klucz – wartość. Baza ta przechowuje dane w pamięci RAM, dzięki czemu charakteryzuje się wysoką wydajnością. W porównaniu do serwera Memcached zapewnia trwałość danych (opcjonalnie) poprzez ich zapis na dysku twardym.
Redis nie jest typowym pośrednikiem komunikatów (ang. message broker), jednakże może stanowić jego namiastkę z uwagi na posiadane właściwości.
Redis posiada obsługę następujących struktur danych:
Poza tym ta baza NoSQL posiada wbudowane mechanizmy replikacji, obsługę skryptów Lua, transakcji, różne rodzaje utrwalania danych na dysku twardym oraz wsparcie dla rozwiązań o wysokiej dostępności (ang. high availability).
Twórcy tego systemu NoSQL wyróżniają trzy podstawowe zastosowania:
Serwer Redis może być również wykorzystywany jako warstwa przechowująca sesje użytkowników zamiast bazy danych lub serwera Memcached.
Jako prawdziwy przykład możliwości zastąpienia pośrednika komunikatów RabbitMQ poprzez Redis można podać aplikację do monitorowania stanu pracy serwerów o nazwie Sensu - w której to - jako tzw. warstwę transportową można wybrać jeden z wymienionych systemów.
Web Developer z ponad 8-letnim, komercyjnym doświadczeniem w tworzeniu stron i aplikacji internetowych oraz paneli administracyjnych w PHP, JavaScript, HTML i CSS.
Aktualnie zainteresowany architekturą mikroserwisów, które umożliwiają budowanie skalowalnych aplikacji internetowych.