Szkolenie Redis 7.0
Poziom
ŚredniozaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Redis 7.0
Dwudniowe szkolenie poświęcone praktycznej pracy z Redis 8 – serwerem danych działającym głównie w pamięci, wykorzystywanym między innymi jako cache, magazyn klucz–wartość, mechanizm komunikacji oraz element systemów przetwarzających dane w czasie rzeczywistym. Uczestnicy skonfigurują środowisko, dobiorą struktury danych, zastosują czas życia kluczy, Pub/Sub, strumienie i transakcje oraz poznają podstawy bezpieczeństwa, diagnostyki, trwałości danych, replikacji i pracy z klastrem. Program uwzględnia możliwości Redis 8, w którym funkcje JSON, Search, Time Series i struktury probabilistyczne są dostępne w ramach Redis Open Source. Ćwiczenia obejmują samodzielną instancję i laboratoryjny klaster Redis, narzędzie Redis Insight oraz integrację z aplikacją .NET za pomocą StackExchange.Redis.
Dla programistów backendu, architektów i inżynierów danych, którzy chcą wykorzystywać Redis jako cache, magazyn danych, mechanizm kolejek, strumieni lub komunikacji; wymagana jest znajomość podstaw programowania, protokołu klient–serwer oraz formatów danych używanych przez aplikacje
Dla administratorów, inżynierów DevOps i specjalistów utrzymania odpowiedzialnych za konfigurację lub diagnostykę usług Redis; wymagana jest umiejętność pracy w terminalu, podstawowa znajomość Dockera albo systemu Linux oraz rozumienie pojęć portu, procesu, pamięci, logu i metryki
Czego nauczysz się na szkoleniu Redis 7.0?
- Uruchomisz Redis 8 w środowisku lokalnym lub kontenerowym, połączysz się z instancją za pomocą redis-cli i Redis Insight oraz zweryfikujesz jej konfigurację.
- Dobierzesz ciągi, hashe, listy, zbiory, zbiory uporządkowane i pozostałe struktury danych do konkretnego przypadku użycia.
- Zbudujesz mechanizm cache wykorzystujący klucze, czas życia danych i kontrolowaną politykę wygasania.
- Przygotujesz komunikację opartą na Pub/Sub oraz strumień z grupą konsumentów, potwierdzaniem wiadomości i obsługą nieprzetworzonych wpisów.
- Zastosujesz transakcje oraz mechanizm WATCH do ochrony operacji zależnych od bieżącego stanu danych.
- Skonfigurujesz uwierzytelnianie, reguły ACL, trwałość danych RDB i AOF oraz procedurę utworzenia i sprawdzenia kopii bezpieczeństwa.
- Zinterpretujesz podstawowe metryki, przeanalizujesz opóźnienia i zużycie pamięci oraz wykonasz kontrolowany test za pomocą redis-benchmark.
- Połączysz aplikację C# z Redis za pomocą StackExchange.Redis, zastosujesz współdzielone połączenie oraz skonfigurujesz timeouty, obsługę błędów i ponawianie operacji.
Program szkolenia
Dzień 1
Moduł 1: Instalacja i środowisko Redis 8
- Środowisko Windows: Docker Desktop, kontener Redis, mapowanie portów, wolumen danych oraz połączenie z redis-cli
- Środowisko Docker: oficjalny obraz Redis, konfiguracja kontenera, sieć, trwałość danych oraz podstawowe parametry uruchomieniowe
- Środowisko Linux: pakiety systemowe, repozytorium Redis, usługa systemowa, pliki konfiguracyjne oraz katalogi danych
- Środowisko macOS: Homebrew, usługa lokalna, lokalizacja konfiguracji oraz kontrola procesu serwera
Moduł 2: Połączenie z instancją Redis
- Diagnostyka połączenia: redis-cli, adres, port, URI, polecenie PING, uwierzytelnianie oraz podstawowe błędy łączności
- Bazy logiczne: polecenie SELECT, numeracja baz, separacja kluczy oraz ograniczenia baz logicznych w środowisku klastrowym
Moduł 3: Klucze i czas życia danych
- Operacje na kluczach: nazewnictwo, przestrzenie nazw, EXISTS, TYPE, RENAME, UNLINK, iteracja SCAN oraz ryzyko kosztownych poleceń
- Czas życia kluczy: EXPIRE, PEXPIRE, TTL, PERSIST, atomowe ustawienie wartości z TTL oraz strategie wygasania cache
Moduł 4: Struktury danych Redis
- Ciągi znaków (Strings): wartości tekstowe i binarne, liczniki, operacje atomowe, zakresy danych oraz typowe wzorce cache
- Tablice asocjacyjne (Hashes): pola obiektu, aktualizacje częściowe, odczyt zbiorczy, liczniki oraz czas życia pól dostępny w Redis 8
- Zbiory (Sets): unikalność elementów, operacje mnogościowe, członkostwo oraz losowy wybór danych
- Zbiory uporządkowane (Sorted Sets): wartości punktowe, rankingi, zakresy, kolejki priorytetowe oraz indeksy czasowe
- Listy (Lists): kolejność elementów, operacje dwustronne, operacje blokujące oraz podstawowe wzorce kolejek
- Dane geoprzestrzenne (Geospatial): współrzędne, odległości, promień wyszukiwania oraz filtrowanie lokalizacyjne
- HyperLogLog: przybliżona liczność zbioru, zużycie pamięci, margines błędu oraz scenariusze analityczne
- Mapy bitowe (Bitmaps): flagi binarne, zliczanie bitów, operacje logiczne oraz kompaktowe reprezentacje aktywności
- Pola bitowe (Bitfields): typy całkowite, przesunięcia bitowe, liczniki kompaktowe oraz kontrola przepełnienia
Moduł 5: Pub/Sub i strumienie danych
- Wzorce komunikacji Pub/Sub: kanały, nadawcy, subskrybenci, dostarczanie typu at-most-once oraz ograniczenia trwałości wiadomości
- Kanały i wzorce subskrypcji: PUBLISH, kanały nazwane, wzorce PSUBSCRIBE oraz separacja tematów
- Subskrypcje wiadomości: SUBSCRIBE, UNSUBSCRIBE, tryb nasłuchiwania oraz zachowanie klienta po utracie połączenia
- Strumienie (Streams): identyfikatory wpisów, uporządkowany log zdarzeń, retencja oraz różnice względem Pub/Sub
- Wpisy strumienia: XADD, pola wiadomości, automatyczne identyfikatory, limity długości oraz kontrola rozmiaru danych
- Odczyt strumienia: XREAD, odczyt blokujący, zakresy identyfikatorów oraz wznowienie przetwarzania
- Grupy konsumentów: XGROUP, XREADGROUP, potwierdzenia XACK, lista oczekujących wiadomości oraz przejęcie porzuconych wpisów
Moduł 6: Transakcje i współbieżność
- Kolejka transakcyjna: MULTI, kolejność poleceń, odpowiedzi kolejkowane oraz zakres atomowości
- Anulowanie transakcji: DISCARD, reset kolejki oraz obsługa błędów przed wykonaniem poleceń
- Zatwierdzenie transakcji: EXEC, wyniki poszczególnych operacji, błędy wykonania oraz brak automatycznego wycofania zmian
- Kontrola współbieżności: WATCH, optymistyczne blokowanie, konflikt modyfikacji oraz ponowienie operacji
Dzień 2
Moduł 7: Konfiguracja Redis
- Konfiguracja dynamiczna: CONFIG GET, CONFIG SET, parametry środowiska wykonawczego oraz zakres zmian bez restartu
- Plik redis.conf: sekcje konfiguracji, sieć, pamięć, trwałość, logowanie, limity klientów oraz ustawienia środowiskowe
- Parametry uruchomieniowe: wiersz poleceń, zmienne kontenera, nadpisywanie konfiguracji oraz kontrola zgodności ustawień
Moduł 8: Bezpieczeństwo instancji Redis
- Uwierzytelnianie i szyfrowanie: hasła, bezpieczne sekrety, TLS, rotacja danych dostępowych oraz ograniczenie anonimowego dostępu
- Autoryzacja (ACL): użytkownicy, kategorie poleceń, wzorce kluczy, kanały Pub/Sub oraz zasada minimalnych uprawnień
- Utwardzenie konfiguracji: interfejsy sieciowe, protected mode, zapora sieciowa, niebezpieczne polecenia, aktualizacje oraz rejestrowanie zdarzeń
Moduł 9: Diagnostyka i wydajność
- Metryki i diagnostyka: INFO, SLOWLOG, LATENCY, MEMORY, liczba klientów, trafienia cache, opóźnienie replikacji oraz presja pamięci
- Narzędzie redis-benchmark: profil obciążenia, współbieżność, potokowanie, rozkład opóźnień, przepustowość oraz ograniczenia mikrobenchmarków
Moduł 10: Trwałość i kopie bezpieczeństwa
- Trwałość danych: migawki RDB, dziennik AOF, polityka fsync, rewrite AOF, kompromis między wydajnością a utratą danych oraz weryfikacja plików
- Kopie bezpieczeństwa i odtwarzanie: bezpieczna kopia plików, procedura przywracania, środowisko testowe, kontrola kompletności oraz próba odtworzeniowa
Moduł 11: Redis 8 i rozszerzone typy danych
- Redis Insight: przegląd danych, edytor poleceń, analiza pamięci, wizualizacja strumieni oraz diagnostyka instancji
- Dane JSON: JSON.SET, JSON.GET, ścieżki JSON, aktualizacje częściowe oraz integracja z klientami aplikacyjnymi
- Wyszukiwanie i zapytania: indeksy wtórne, wyszukiwanie pełnotekstowe, filtry, agregacje oraz podstawy wyszukiwania wektorowego
- Szeregi czasowe i struktury probabilistyczne: próbki, retencja, agregacje, filtry Blooma, Count-Min Sketch oraz dobór reprezentacji do przypadku użycia
Moduł 12: Replikacja i Redis Cluster
- Replikacja i Sentinel: role primary–replica, synchronizacja, opóźnienie replikacji, automatyczny failover oraz ograniczenia spójności
- Skalowanie poziome: shardy, 16 384 sloty hash, dystrybucja kluczy oraz wpływ skalowania na operacje wielokluczowe
- Topologia Redis Cluster: węzły primary i replica, utworzenie klastra laboratoryjnego, stan klastra, migracja slotów oraz reakcja na awarię
- Operacje CROSSSLOT: hash tags, wspólny slot kluczy, ograniczenia transakcji i skryptów oraz strategie modelowania danych
Moduł 13: Klient Redis dla platformy .NET
- Integracja z C#: konfiguracja projektu, połączenie z instancją, operacje asynchroniczne, serializacja danych oraz obsługa podstawowych struktur Redis
- Biblioteki StackExchange.Redis i NRedisStack: cykl życia ConnectionMultiplexer, pule wątków, timeouty, retry, obsługa wyjątków, diagnostyka połączeń oraz rozszerzone typy danych