Tworzenie rozwiązań z REDIS 7.0 - 3 pytania i odpowiedzi ze szkolenia (wrzesień 2022)

Seria pytań uczestników, które pojawiły się podczas szkolenia REDIS 7.0 realizowanego w dniach 19-21.09.2022 r.


W jaki sposób śledzić skrypty Lua?

Polecam metody opisane w artykule:
https://redis.com/blog/5-6-7-methods-for-tracing-and-debugging-redis-lua-scripts/

W jaki sposób zabezpieczyć bazę danych REDIS?

Podstawowe zasady bezpieczeństwa:

• ustawić wymagane hasło na użytkownika

requirepass "hello world"

• dodać użytkowników i ograniczyć ich uprawnienia do niezbędnego minimum (tylko potrzebne polecenia, wybrany zakres kluczy)

• zmienić domyślny port 6379 na inny

• włączyć szyfrowanie SSL/TLS (od wersji 6.0)

• zmienić nazwy poleceń w pliku konfiguracyjnym:
np. rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Szczegółowe informacje dostępne są w dokumentacji:
https://redis.io/docs/manual/security/encryption/

Jakie są wady REDIS?

Chyba największą wadą REDIS'a jest to, że pracuje jednowątkowo. Nie potrafi wykorzystać pełni mocy serwerów wieloprocesorowych. Sugerowane rozwiązanie to utworzenie klastra i rozłożenie kluczy na wiele instancji przypisanych do innych rdzeni.

Ale ciekawą alternatywą może być baza danych, która powstała na fundamentach REDIS'a i pracuje wielowątkowo. Mam tu na myśli KeyDB firmy Snapchat, który jest forkiem Redisa i większość poleceń jest identyczna. Podobno zapewnia 5-krotny wzrost szybkości.

Poza tym ciężko znaleźć jakieś wady. REDIS jest prosty i szybki. Zapewnia mechanizm transakcji i możliwość tworzenia kopii zapasowych.

Ewentualne problemy mogą wynikać z błędnego doboru struktury do danego zagadnienia, bo myślenie kategoriami relacyjnych baz danych może się okazać dużą pułapką i prowadzić do nieoptymalnych rozwiązań.

Dlatego uważam, że przez zastosowaniem REDIS'a należy rozpocząć od poznania wszystkich dostępnych struktur danych i przykładów ich zastosowań w rzeczywistych przypadkach.