Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
04.11.2024

Korzystanie z poleceń skanowania w Redis w systemie Linux

Redis, open-source’owy magazyn struktur danych w pamięci, jest znany ze swojej szybkości i wszechstronności jako baza danych klucz-wartość. Jedną z jego potężnych funkcji jest możliwość przyrostowego iterowania przez zbiory danych za pomocą poleceń skanowania. Jest to szczególnie przydatne w przypadku dużych zbiorów danych, ponieważ pozwala na wydajne pobieranie danych bez obciążania serwera. Dla użytkowników na dedykowanym serwerze Linux, korzystanie z poleceń skanowania w Redis może zwiększyć wydajność obsługi danych, umożliwiając precyzyjne, zoptymalizowane pod kątem zasobów przetwarzanie zbiorów danych. W tym artykule zbadamy, jak skutecznie korzystać z poleceń skanowania w Redis w środowisku Linux, oferując szczegółowe przykłady i najlepsze praktyki w zakresie zarządzania i pobierania danych na dużą skalę

Czym są polecenia skanowania?

Polecenia skanowania w Redis zapewniają sposób na iterację po kluczach, zestawach, hashach i posortowanych zestawach w sposób nieblokujący. W przeciwieństwie do polecenia KEYS, które może być niebezpieczne dla dużych zbiorów danych, ponieważ zwraca wszystkie pasujące klucze naraz, polecenia skanowania zwracają niewielką liczbę elementów naraz. Minimalizuje to wpływ na wydajność i pozwala na iterację przyrostową

Kluczowe polecenia skanowania

  1. SCAN: Iteruje przez klucze w przestrzeni kluczy.
  2. SSCAN: Iteruje przez elementy w zestawie.
  3. HSCAN: Iteruje przez pola i wartości w skrócie.
  4. ZSCAN: Iteruje po elementach i wynikach w posortowanym zbiorze.

Podstawowa składnia poleceń skanowania

Każde polecenie skanowania ma podobną składnię

###ATP_PRO_NOTR_1_CODE_TAG_NOTR_ATP_PRO##
  • kursor: Liczba całkowita reprezentująca pozycję, od której należy rozpocząć skanowanie. Aby rozpocząć nowe skanowanie, należy użyć 0.
  • MATCH pattern: (opcjonalnie) Wzorzec do filtrowania zwracanych kluczy. Obsługuje wzorce globalne.
  • COUNT count: (opcjonalnie) Wskazówka dla Redis dotycząca liczby elementów zwracanych w każdej iteracji.

Instalacja Redis w systemie Linux

Zanim przejdziemy do korzystania z poleceń skanowania, upewnij się, że Redis jest zainstalowany w systemie Linux. Dla tych, którzy korzystają z dedykowanego serwera Debiana, konfiguracja Redis jest prosta i może zwiększyć możliwości serwera w zakresie wydajnego przetwarzania danych w pamięci. Oto jak zainstalować Redis w systemie opartym na Debianie, zapewniając stabilne środowisko zoptymalizowane pod kątem wydajnych operacji.

Wykonując te kroki, skonfigurujesz Redis w sposób wykorzystujący zasoby i stabilność dedykowanego serwera Debiana, idealnego do solidnych zadań związanych z obsługą danych

###ATP_PRO_NOTR_2_CODE_TAG_NOTR_ATP_PRO#

Dla CentOS/RHEL, użyj

###ATP_PRO_NOTR_3_CODE_TAG_NOTR_ATP_PRO##

Po zainstalowaniu uruchom serwer Redis

###ATP_PRO_NOTR_4_CODE_TAG_NOTR_ATP_PRO##

Łączenie się z Redis

Otwórz terminal i połącz się z instancją Redis za pomocą Redis CLI

###ATP_PRO_NOTR_5_CODE_TAG_NOTR_ATP_PRO##

Możesz teraz wykonywać polecenia Redis w CLI

Korzystanie z polecenia SCAN

Przykład 1: Podstawowe SCAN

Aby pobrać wszystkie klucze w bazie danych Redis, można użyć

###ATP_PRO_NOTR_6_CODE_TAG_NOTR_ATP_PRO##

To polecenie zwróci kursor i listę kluczy

Przykład 2: Użycie MATCH do filtrowania kluczy

Jeśli chcesz znaleźć klucze pasujące do określonego wzorca, takie jak klucze zaczynające się od “user:”, możesz użyć

###ATP_PRO_NOTR_7_CODE_TAG_NOTR_ATP_PRO#

To polecenie zwraca tylko klucze zaczynające się od “user:”

Przykład 3: Określanie COUNT

Aby wskazać, ile kluczy Redis powinien zwrócić w każdej iteracji, można określić liczbę

###ATP_PRO_NOTR_8_CODE_TAG_NOTR_ATP_PRO##

Spowoduje to próbę zwrócenia około 10 kluczy. Należy pamiętać, że rzeczywista liczba zwróconych kluczy może być mniejsza

Przykład 4: Iterowanie po wszystkich kluczach

Aby iterować przez wszystkie klucze w wielu iteracjach, należy śledzić zwracany kursor. Oto prosty przykład skryptu powłoki: ###ATP_PRO_NOTR_9_CODE_TAG_NOTR_ATP_PRO#

Używanie polecenia SSCAN

Polecenie SSCAN służy do iteracji po elementach w zbiorze. Jego składnia jest podobna do polecenia SCAN

###ATP_PRO_NOTR_10_CODE_TAG_NOTR_ATP_PRO##

Przykład polecenia SSCAN

Krok 1: Utwórz zestaw i dodaj elementy

Utwórzmy zestaw o nazwie myset i dodajmy do niego kilka elementów

###ATP_PRO_NOTR_11_CODE_TAG_NOTR_ATP_PRO##

Krok 2: Użycie polecenia SSCAN

Teraz, gdy mamy zestaw o nazwie myset, możemy użyć polecenia SSCAN do iteracji po jego elementach

  1. Podstawowe polecenie SSCAN: Załóżmy, że masz zestaw o nazwie “myset”. Aby przeskanować jego elementy
    ###ATP_PRO_NOTR_12_CODE_TAG_NOTR_ATP_PRO##
  2. Używanie MATCH:Aby przefiltrować elementy w zestawie na podstawie wzorca i dodać elementy zawierające słowo “mango” i inne odmiany:
    ###ATP_PRO_NOTR_13_CODE_TAG_NOTR_ATP_PRO##
  3. Iteracja po zbiorze:Możesz użyć pętli do iteracji po zbiorze:

###ATP_PRO_NOTR_14_CODE_TAG_NOTR_ATP_PRO##

Uruchamianie skryptu

  1. Zapisz skrypt jako scan_myset.sh.
  2. Uczyń go wykonywalnym
    ###ATP_PRO_NOTR_15_CODE_TAG_NOTR_ATP_PRO##
  3. Uruchom skrypt
    ###ATP_PRO_NOTR_16_CODE_TAG_NOTR_ATP_PRO##

Korzystanie z poleceń HSCAN i ZSCAN

Polecenie HSCAN

Polecenie HSCAN iteruje przez pola i wartości w skrócie

###ATP_PRO_NOTR_17_CODE_TAG_NOTR_ATP_PRO#

Polecenie HSCAN służy do iteracji przez pola i wartości w skrócie

Krok 1: Utwórz skrót i dodaj pola

  1. Utwórz hash o nazwie myhash i dodaj do niego kilka pól:
###ATP_PRO_NOTR_18_CODE_TAG_NOTR_ATP_PRO##

Krok 2: Użyj HSCAN do iteracji przez hash

  1. Użyj polecenia HSCAN, aby iterować przez pola w myhash:
###ATP_PRO_NOTR_19_CODE_TAG_NOTR_ATP_PRO#

Polecenie ZSCAN

ZSCAN to polecenie Redis używane do iteracji przez elementy posortowanego zestawu przyrostowo. Umożliwia pobieranie elementów wraz z powiązanymi z nimi wynikami w sposób wydajny i nieblokujący. Polecenie to jest szczególnie przydatne do pracy z dużymi posortowanymi zbiorami, gdzie pobieranie wszystkich elementów jednocześnie może nie być praktyczne. Polecenie ZSCAN iteruje przez elementy i wyniki w posortowanym zbiorze

###ATP_PRO_NOTR_20_CODE_TAG_NOTR_ATP_PRO#

Krok 1: Utwórz posortowany zestaw i dodaj członków

Utwórzmy posortowany zestaw o nazwie mysortedset i dodajmy kilku członków z wynikami

###ATP_PRO_NOTR_21_CODE_TAG_NOTR_ATP_PRO##

Podstawowe polecenie ZSCAN: Aby rozpocząć skanowanie posortowanego zbioru, użyj

###ATP_PRO_NOTR_22_CODE_TAG_NOTR_ATP_PRO##

Krok 2: Używanie funkcji MATCH do filtrowania elementów członkowskich (opcjonalnie)

Jeśli chcesz filtrować pręty zwrócone przez ZSCAN, możesz użyć opcji MATCH. Na przykład, aby znaleźć pręty zawierające literę “e”, można uruchomić

###ATP_PRO_NOTR_23_CODE_TAG_NOTR_ATP_PRO#

Najlepsze praktyki dotyczące korzystania z poleceń skanowania

  1. Używaj SCAN zamiast KEYS: Unikaj używania polecenia KEYS w środowisku produkcyjnym, ponieważ może ono blokować serwer. Używaj SCAN do nieblokującej iteracji.
  2. Połącz z MATCH i COUNT: Wykorzystaj opcje MATCH i COUNT, aby poprawić wydajność i ograniczyć zestaw wyników.
  3. Obsługa dużych zbiorów danych: W przypadku dużych zbiorów danych, przetwarzaj klucze partiami za pomocą kursorów, aby efektywnie zarządzać pamięcią.
  4. Testowanie w środowisku deweloperskim: Zawsze testuj logikę skanowania w środowisku programistycznym, aby upewnić się, że zachowuje się zgodnie z oczekiwaniami przed wdrożeniem w środowisku produkcyjnym.

Podsumowanie

Korzystanie z poleceń skanowania w Redis pozwala na wydajne iterowanie przez duże zbiory danych w środowisku Linux bez obciążania serwera. Rozumiejąc, jak używać SCAN, SSCAN, HSCAN i ZSCAN, można efektywnie zarządzać i pobierać dane z Redis. Polecenia te są niezbędne do tworzenia skalowalnych aplikacji, które wymagają przetwarzania danych w czasie rzeczywistym. Aby uzyskać więcej informacji i szczegółowe użycie, zapoznaj się z oficjalną dokumentacją Redis i eksperymentuj z tymi poleceniami w swoim środowisku Redis

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills