kontakt
Software house
>
Tag
>
Redis wszechstronna baza danych typu in-memory
Redis

Redis wszechstronna baza danych typu in-memory

Data wpisu
Mateusz Kuba
Autor
Mateusz Kuba

Redis pozwala na przechowywanie danych w pamięci z szybkimi czasami dostępu. Wykorzystywany jest tam, gdzie kluczowy jest czas i prostota obsługi. W Redis przechowywujemy najczęściej proste struktury danych, choć w przeciwieństwie do rozwiązań typu DynamoDB od AWS, rozmiar danych jest znacznie większy bo wynosi 512mb. Redis jest rozwiązaniem typu open-source, a więc można wykorzystywać je bez przeszkody w swoim oprogramowaniu. Redis posiada API SDK dostępne w wielu językach programowania takich jak:

  • C++ ( Redis-plus-plus )
  • Go ( GoRedis )
  • Java ( Jedis )
  • NodeJS ( IORedis )
  • Perl ( Redis )
  • Python ( Redis-py )
  • R ( Rccp-redis )
  • Ruby ( Redis-rb )
  • Rust ( Redis-rs )
  • Scala ( Scala-redis )
  • Swift ( RediStack )

Redis jest wysoce skalowalny

Redis ze względu na swoją architekturę jest rozwiązaniem wysoce skalowalnym. Wykorzystywany najczęściej jako pierwsza linia frontu, tam gdzie musimy ominąć bezpośrednio bazę danych typu SQL czy nawet NoSQL i uzyskiwać najszybsze czasy odpowiedzi. W Redis wykorzystuje się partycjonowanie ze względu na łatwe wydzielenie danych i brak powiązania ich między sobą, a także replikację typu master-slave.

redis

Redis jest wykorzystywany w wielu rodzajach aplikacji

Najczęstszym wykorzystaniem Redis jest cachowanie danych aplikacji. Weźmy na przykład aplikację webową, która wielokrotnie sięga po te same dane. Zamiast odpytywać bezpośrednio bazę danych, co nie jest najszybszym rozwiązaniem można odpytać cache, którym będzie w tym wypadku Redis. Pozwoli to zredukować czas odpowiedzi serwera, a także znacznie podniesie skalowalność aplikacji.

Innymi rozwiązaniami, gdzie wykorzystuje się Redis są:

  • analityka danych
  • chat (pub/sub)
  • kolejka danych
  • zarządzanie sesją danych użytkownika
  • sztuczna inteligencja

Minusy rozwiązania typu Redis

Minusem rozwiązania typu in-memory może być zbytnie poleganie na nim, i w przypadku utraty dostępności do serwera, przekierowanie ruchu na bazę danych może skończyć się brakiem dostępności do serwisu. Trzeba pamiętać o zapobieganiu tego typu sytuacjom poprzez utrzymywanie systemów restartujących dane rozwiązane, albo uruchamiających serwer zapasowy. Można też utrzymywać kopię danych Redis na dysku twardym i robić regularne zrzuty pamięci, co pozwoli uniknąć sytuacji utraty całego cache’u.

Wpisy z tagiem: redis