Redis (Remote Dictionary Server) to otwartoźródłowy system baz danych NoSQL działający w pamięci operacyjnej (in-memory), zaprojektowany z myślą o maksymalnej wydajności. Przechowując dane bezpośrednio w RAM-ie, Redis umożliwia błyskawiczny dostęp do informacji i obsługę milionów operacji na sekundę.
Dzięki strukturze klucz-wartość, Redis idealnie nadaje się do zastosowań wymagających szybkiego przetwarzania danych. Jest często wykorzystywany jako pamięć podręczna aplikacji (cache), magazyn danych sesyjnych, broker komunikatów czy silnik analizy danych w czasie rzeczywistym. Szybkość i niezawodność sprawiają, że Redis znajduje zastosowanie zarówno w małych projektach, jak i systemach o ogromnej skali, np. w architekturach mikroserwisowych.
Redis oferuje również wsparcie dla struktur danych takich jak listy, zbiory, hashe czy uporządkowane zestawy, co czyni go elastycznym narzędziem do wielu zastosowań. Dodatkowo, możliwość trwałego zapisu danych na dysku (ang. persistence) sprawia, że mimo działania w pamięci operacyjnej, Redis może pełnić funkcję nie tylko tymczasowego bufora, ale również trwałego repozytorium danych.
Co oznacza Redis?
Redis jest opisywany jako zaawansowany magazyn klucz-wartość, a nie typowa baza danych, ze względu na sposób, w jaki przechowuje dane jako pary klucz-wartość, które mogą zawierać ciągi znaków, listy, zestawy skrótów i zestawy posortowane.
Działa z zestawem danych w pamięci, aby osiągnąć wyjątkową wydajność, i może wykonywać operacje atomowe, takie jak dołączanie ciągów znaków, zwiększanie wartości skrótów, wyszukiwanie i pobieranie elementów listy, obliczanie przecięcia zbiorów, sumy i różnicy i wiele innych.
W zależności od zastosowania, w którym zaimplementowano Redis, dane można utrwalić, zrzucając zbiór danych na dysk lub dodając każde polecenie do logu.
Redis jest programem open source i posiada licencję BSD. Został opracowany przez Salvatore Sanfilippo i wydany po raz pierwszy 10 kwietnia 2009 roku.
Program został napisany w języku ANSI C i gruntownie przetestowany pod kątem systemów POSIX, takich jak Linux, BSD i OSX. Nie ma oficjalnej wersji dla systemu Windows, ale Microsoft opracowuje i utrzymuje eksperymentalną wersję dla systemu Windows 32- i 64-bitowego.