Redis Scard

Redis Scard
Zestawy Redis to nieoporządkowane kolekcje ciągów, które nie zawierają żadnych duplikatów. Są one bardzo podobne do hashsetów Java, zestawów Pythona itp. Co najważniejsze, podstawowe operacje, takie jak dodawanie, usuwanie i sprawdzanie istnienia członka, są wysoce wydajne, ponieważ działają w złożoności czasowej O (1).

Członkowie zestawu

Jak wspomniano, zestawy Redis zawierają unikalne elementy ciągów. Istniejące już elementy nie będą akceptowane przez zestawy Redis i zostaną zignorowane. Ponadto jeden zestaw może pomieścić do 4 miliardów unikalnych strun.

Charakter trzymania unikalnych członków zestawu Redis przydaje się w kilku przypadkach użycia w świecie rzeczywistym.

  • Zdolność do wykonywania standardowych operacji, takich jak związek, przecięcie i różnica.
  • Śledzenie unikalnych odwiedzających na stronie internetowej
  • Reprezentują relacje z istoty świata rzeczywistego

Polecenie SCARD

Komenda SCARD, skrót od zestawu kardynałów, zwraca liczbę członków w zestawie zapisanym w danym kluczu. Działa w O (1) złożoność czasu, co oznacza, że ​​czas, który polecenie SCARD do wykonania nie opiera się na liczbie członków w danym zestawie. Zawsze zajmuje to ciągły czas.

Polecenie SCARD ma bardzo prostą składnię, jak pokazano następująco.

Set_key

set_key: Klucz zestawu redis

To polecenie zwraca wartość całkowitą, która jest liczbą członków w zestawie.

Przypadek użycia - policz unikalnych odwiedzających na stronie internetowej

Załóżmy, że firma pizzy „Yummipizza” prowadzi stronę internetową o nazwie Yummipizza.com, gdzie ludzie mogą zamówić pizzę online. Aby śledzić swoją sprzedaż i bazę klientów, utrzymują bazę danych Redis do przechowywania wszystkich unikalnych odwiedzających witrynę każdego miesiąca.

Ilekroć użytkownik odwiedza witrynę YummyPizza, identyfikator użytkownika powinien zostać dodany do bazy danych Redis. Ponadto tego samego użytkownika nie powinien być również dodawany do bazy danych. Tak więc idealną strukturą danych jest zestaw Redis, w którym zestawy przechowują tylko unikalnych członków.

Załóżmy, że pięciu użytkowników odwiedziło stronę internetową, a ci członkowie są dodawani do bazy danych Redis, jak pokazano następujące.

Sadd Yummipizzavisitors: październik John Mary Raza Stoinis Prince

Zgodnie z oczekiwaniami, liczba całkowita 5 została zwrócona, co oznacza, że ​​pięciu członków jest dodawanych do zestawu przechowywanego w kluczu „YummuPizavisitors: październik."

Pod koniec dnia administrowie firmy muszą sprawdzić całkowitą liczbę unikalnych odwiedzających na stronie internetowej. Tak więc należy obliczyć ustawioną kardynanie. Na szczęście wcześniej omawiane polecenie SCARD przydaje się w tego rodzaju scenariuszu.

Wykonajmy polecenie SCARD na zestawie zapisanym na kluczu „YummuPizavisitors: październik."

SCARD YummuPizavisitors: październik

Wyjście to 5, co oznacza, że ​​pięć unikalnych członków znajduje się w określonym zestawie. To polecenie wykonuje się zbyt szybko. Nie ma znaczenia pięciu członków lub 50000 członków; Czas wykonania będzie stały.

Załóżmy, że określony klucz zestaw nie istnieje w bazie danych Redis. Następnie wyjście wyniesie 0, jak pokazano w poniższym przykładzie. W takim przypadku określamy klucz, którego nie ma w bazie danych.

Scard NonxistingKey

Wniosek

Podsumowując, zestaw Redis jest idealnym kandydatem do przechowywania unikalnych ciągów. Jak omówiono, najważniejszą rzeczą w zestawie Redis jest to, że większość powiązanych operacji zajmuje stały czas na wykonanie. Polecenie SCARD jest jednym z najczęściej używanych poleceń zestawu do obliczenia całkowitej liczby elementów zestawu dla danego zestawu przechowywanego w określonym klawiszu. Bez względu na to, ile członków zestawu jest dostępnych, to polecenie zajmuje stały czas, aby zapewnić wyjście. Jak pokazano w ostatnim przykładzie, jeśli klawisz ustawiony nie istnieje, wówczas wyjście wyniesie 0.