Redis MGET

Redis Mget



Objaśnienie ciągów Redis

Ciągi znaków są najbardziej podstawową i podstawową strukturą danych wprowadzoną przez bazę danych Redis. Ciągi Redis są binarnymi bezpiecznymi sekwencjami bajtów. Są one bardzo podobne do normalnych ciągów znaków dostępnych w językach programowania, takich jak Java i c#.net. Co najważniejsze, ciągi Redis mogą być używane do przechowywania prawie wszystkiego, co lubisz, takich jak ciągi, liczby całkowite, serializowane JSON, XML i wartości binarne. Ponieważ typ danych ciągu Redis jest bezpieczny w postaci binarnej, obiekty binarne, takie jak obrazy, filmy i dokumenty, można łatwo przechowywać za pomocą ciągów. Ponadto pojedynczy ciąg Redis może pomieścić dane do 512 MB.







Ponadto struktura danych ciągu Redis jest powszechnie używana w następujących przypadkach użycia:



  • Buforowanie
    • Przechowywanie sesji
    • Odpowiedzi API
    • Strony HTML
  • Licznik
  • Implementacja bitmapy i operacje bitowe

Najczęściej używane operacje na ciągach to SET, GET, MGET i SETNX. Polecenia INCRBY i INCRBYFLOAT są powszechnie używane do zarządzania licznikami zaimplementowanymi przy użyciu struktury danych ciągu Redis. W tym samouczku polecenie MGET jest szczegółowo opisane.



Ujawniono polecenie MGET

Polecenie MGET służy do pobierania wartości podanych kluczy Redis. Jako argumenty przyjmuje jeden lub więcej kluczy. Ponadto polecenie MGET działa na złożoności czasowej O(N), gdzie N jest określoną liczbą kluczy. Składnia polecenia MGET jest następująca:





Klucz MGET [ klucz ... ]

Po wykonaniu polecenia MGET zwraca tablicę wartości, które są przechowywane w określonych kluczach Redis. Jeśli klucz nie istnieje, zwraca specjalną wartość zero. Podobnie, jeśli klucz nie zawiera wartości ciągu, a zero zwracana jest wartość.

Przykład użycia: pobierz wszystkie odpowiedzi z pamięci podręcznej interfejsu API

Załóżmy scenariusz, w którym typ danych ciągu Redis jest używany do implementacji pamięci podręcznej, która przechowuje ostatnie odpowiedzi interfejsu API. Używamy polecenia SET do przechowywania niektórych fikcyjnych odpowiedzi API w celach demonstracyjnych.



ustawić dummyhost / klienci 'Ricky, Bernard, Mary, Samuel, Joe' ustawić dummyhost / dostawców „Jimmy, Jeremy, Andrew, Hera” ustawić dummyhost / faktury '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Przechowujemy kilka wartości ciągów i serializowany obiekt JSON przy użyciu typu danych ciągu Redis.

Teraz użyjmy polecenia MGET, aby jednocześnie pobrać wszystkie odpowiedzi w każdym wywołaniu API.

mget dummyhost / klienci dummyhost / dostawcy dummyhost / faktury

Wyjście:

1 ) 'Ricky, Bernard, Mary, Samuel, Joe'

dwa ) „Jimmy, Jeremy, Andrew, Hera”

3 ) „{” faktury ': [{' faktura_id ': 1,' faktura_płatność ':1000}, {' faktura_id ': dwa,' faktura_płatność ':3400}]}'

Zgodnie z oczekiwaniami wartości w każdym kluczu są zwracane w postaci tablicy.

Określanie nieistniejącego klucza

Jak wspomniano, polecenie MGET zwraca specjalną wartość zero gdy dostarczony jest nieistniejący klucz. Określmy nieistniejący klucz o nazwie „nonexistingkey” w poleceniu MGET i wykonajmy poprzedni przykład w następujący sposób:

mget dummyhost / klienci dummyhost / dostawcy dummyhost / faktury nieistniejąceklucz

Jak widać, ostatnia wartość w tablicy to zero który jest powiązany z nieistniejącym kluczem Redis.

Ogólnie rzecz biorąc, polecenie MGET jest idealnym kandydatem, gdy musimy pobrać wartości ciągu przechowywane pod wieloma kluczami w jednym wywołaniu, zamiast kilkukrotnego wywoływania polecenia GET.

Wniosek

Podsumowując, polecenie MGET działa na strukturze danych ciągu Redis, aby zwrócić wartości przechowywane pod wieloma kluczami w jednym wywołaniu. Jako argumenty przyjmuje jeden lub więcej kluczy Redis. Jak podkreślono, polecenie MGET działa w złożoności czasowej O(N). Przypadek użycia pokazał, jak używać polecenia MGET do wydajnego pobierania kilku odpowiedzi API przechowywanych w wielu kluczach.