Redis SCARD

Redis Scard



„Seturile Redis sunt colecții neordonate de șiruri de caractere care nu conțin duplicate. Acestea sunt foarte asemănătoare cu Java HashSets, Python Sets etc. Cel mai important, operațiunile fundamentale precum adăugarea, eliminarea și verificarea existenței unui membru sunt foarte eficiente, deoarece funcționează în complexitatea timpului O(1).

Membrii unui set

După cum sa menționat, seturile Redis conțin elemente de șir unice. Elementele deja existente nu vor fi acceptate de seturile Redis și vor fi ignorate. În plus, un singur set poate conține până la 4 miliarde de șiruri unice.









Natura setului Redis de a deține membri unici este utilă în mai multe cazuri de utilizare din lumea reală.



  • Abilitatea de a efectua operațiuni standard precum Unirea, Intersecția și Diferența.
  • Urmărirea vizitatorilor unici pe un site web
  • Reprezentați relațiile dintre entități din lumea reală

Comanda SCARD

Comanda SCARD, prescurtare pentru Set Cardinality, returnează numărul de membri dintr-un set stocat la o anumită cheie. Funcționează în complexitatea timpului O(1), ceea ce înseamnă că timpul necesar pentru executarea comenzii SCARD nu se bazează pe numărul de membri din setul dat. Este întotdeauna nevoie de un timp constant.





Comanda SCARD are o sintaxă foarte simplă, așa cum se arată în cele ce urmează.

SCARD set_key

set_key: Cheia setului Redis



Această comandă returnează o valoare întreagă care este numărul de membri din set.

Caz de utilizare – Numărați vizitatorii unici ai unui site web

Să presupunem că o companie de pizza „YummyPizza” menține un site web numit yummypizza.com unde oamenii pot comanda pizza online. Pentru a ține evidența vânzărilor și a bazei de clienți, mențin o bază de date Redis pentru a stoca toți vizitatorii unici ai site-ului în fiecare lună.

Ori de câte ori un utilizator vizitează site-ul web YummyPizza, id-ul de utilizator ar trebui adăugat la baza de date Redis. De asemenea, același utilizator nu ar trebui adăugat la baza de date. Deci, structura ideală de date este setul Redis, unde seturile stochează doar membri unici.

Să presupunem că cinci utilizatori au vizitat site-ul web, iar acești membri sunt adăugați la baza de date Redis, așa cum se arată în cele ce urmează.

SADD YummyPizzaVizitatori:Octombrie John Mary Raza Stoinis Prince

După cum era de așteptat, numărul întreg 5 a fost returnat, ceea ce înseamnă că cei cinci membri sunt adăugați la setul stocat la cheia „ YummyPizzaVizitatori:octombrie.

La sfârșitul zilei, administratorii companiei trebuie să verifice numărul total de vizitatori unici pe site. Deci, cardinalitatea setului trebuie calculată. Din fericire, comanda SCARD discutată anterior este utilă în acest tip de scenariu.

Să executăm comanda SCARD pe setul stocat la tasta „ YummyPizzaVizitatori:octombrie.

scard YummyPizzaVizitatori:octombrie

Ieșirea este 5, ceea ce înseamnă că cinci membri unici sunt în setul specificat. Această comandă se execută prea repede. Nu contează cinci membri sau 50000 de membri; timpul de executie va fi constant.

Să presupunem că cheia de set specificată nu există în baza de date Redis. Apoi, rezultatul va fi 0, așa cum se arată în exemplul următor. În acest caz, vom specifica o cheie care nu se află în baza de date.

scard NonExistingKey

Concluzie

Pentru a rezuma, setul Redis este un candidat ideal pentru stocarea șirurilor unice. După cum sa discutat, cel mai important lucru despre setul Redis este că majoritatea operațiunilor de set asociate durează un timp constant pentru a fi executate. Comanda SCARD este una dintre cele mai utilizate comenzi set pentru a calcula numărul total de membri ai setului pentru un anumit set stocat la o cheie specificată. Indiferent de câți membri ai setului sunt disponibili, această comandă necesită timp constant pentru a furniza rezultatul. După cum se arată în ultimul exemplu, dacă cheia set nu există, atunci rezultatul va fi 0.