IT Baza danych

Redis

Definicja #

Redis (Remote Dictionary Server) to open-source'owy magazyn danych działający w pamięci RAM, stworzony przez Salvatore Sanfilippo w 2009 roku. Mimo że należy do kategorii baz klucz-wartość (key-value store), obsługuje wiele złożonych struktur danych.

Typy danych w Redis:

  • String — tekst, liczby, dane binarne (do 512 MB)
  • Hash — mapa pola-wartość, idealna dla obiektów
  • List — lista stringów (kolejki, stosy)
  • Set — zbiór unikalnych wartości
  • Sorted Set (ZSet) — zbiór z wynikiem (score), np. rankingi
  • Stream — log zdarzeń append-only (od Redis 5.0)
  • HyperLogLog — przybliżona liczba unikalnych elementów

Redis oferuje replikację master-replica, Sentinel (wysoka dostępność), Cluster (sharding) oraz opcjonalną persystencję (RDB snapshots, AOF log). Zarządzana wersja chmurowa to Redis Cloud oraz usługi na Azure (Azure Cache for Redis), AWS (ElastiCache) i GCP.

Zastosowania #

Redis jest stosowany do:

  • Cachowanie — przechowywanie wyników kosztownych zapytań SQL lub wywołań API z TTL
  • Sesje użytkowników — szybki dostęp do danych sesji w aplikacjach webowych
  • Rate limiting — liczniki z TTL do ograniczania liczby żądań
  • Broker komunikatów i kolejki zadań — Pub/Sub, kolejki z użyciem List lub Streams
  • Rankingi i tablice liderów — Sorted Sets z automatycznym sortowaniem po score

Ścieżka nauki #

Przed nauką Redis warto znać podstawy sieci, aplikacji webowych i rozumieć czym jest cache.

Zacznij od:

  • Podstawowe polecenia: SET, GET, DEL, EXPIRE, TTL, EXISTS
  • Typy danych: String, Hash, List, Set, Sorted Set i kiedy je stosować
  • Połączenie z Redis z wybranego języka: Node.js (ioredis), Python (redis-py), C# (StackExchange.Redis)

Następnie poznaj:

  • Wzorce cachowania: cache-aside, write-through, write-behind
  • Pub/Sub i Streams do komunikacji między serwisami
  • Persystencja: RDB vs AOF — kiedy i czy w ogóle włączać
  • Redis Cluster i Sentinel — wysoka dostępność i sharding

FAQ #

Czy Redis to baza danych czy cache?
Redis jest zarówno jednym, jak i drugim — zależy od konfiguracji i użycia. Może działać jako szybki cache (dane w RAM z TTL bez persystencji) lub jako trwała baza danych (z persystencją RDB/AOF). W praktyce najczęściej pełni rolę cache lub brokera komunikatów.
Czym różni się Redis od Memcached?
Redis obsługuje bogatsze struktury danych (Hash, List, Set, Sorted Set, Stream), replikację, persystencję i skrypty Lua. Memcached to prostszy cache in-memory bez tych funkcji, ale z nieco lepszą wydajnością dla prostego cachowania stringów.
Czy Redis jest open source?
Redis do wersji 7.2 był udostępniany na licencji BSD. Od wersji 7.4 (2024) licencja zmieniła się na SSPL/RSALv2, co wywołało kontrowersje. Powstał fork Valkey (Linux Foundation) kontynuujący tradycję open source.
Ile zarabia backend developer znający Redis?
Redis jest standardowym składnikiem stacku technologicznego backendowców. Senior backend developer z Redis zarabia w Polsce od 14 000 do 24 000 zł brutto — znajomość Redis jest jednym z wielu wymagań na takim stanowisku.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Redis w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.