Redis SCARD

Redis Scard



„Súpravy Redis sú neusporiadané kolekcie reťazcov, ktoré neobsahujú žiadne duplikáty. Sú veľmi podobné Java HashSets, Python Setom atď. Najdôležitejšie je, že základné operácie ako pridávanie, odstraňovanie a kontrola existencie člena sú vysoko efektívne, pretože fungujú v časovej zložitosti O(1).

Členovia množiny

Ako už bolo spomenuté, sady Redis obsahujú jedinečné reťazcové položky. Už existujúce položky nebudú akceptované sadami Redis a budú ignorované. Navyše, jedna sada pojme až 4 miliardy jedinečných strún.









Povaha súpravy Redis, ktorá obsahuje jedinečných členov, sa hodí v niekoľkých prípadoch použitia v reálnom svete.



  • Schopnosť vykonávať operácie so štandardnými súbormi ako Union, Intersection a Difference.
  • Sledovanie jedinečných návštevníkov webovej stránky
  • Reprezentovať vzťahy entít v reálnom svete

Príkaz SCARD

Príkaz SCARD, skratka z výrazu Set Cardinality, vracia počet členov v množine uložených na danom kľúči. Pracuje v časovej zložitosti O(1), čo znamená, že čas potrebný na vykonanie príkazu SCARD nezávisí od počtu členov v danej množine. Chce to vždy konštantný čas.





Príkaz SCARD má veľmi jednoduchú syntax, ako je uvedené nižšie.

SCARD set_key

set_key: Kľúč súpravy Redis



Tento príkaz vráti celočíselnú hodnotu, ktorá predstavuje počet členov v množine.

Prípad použitia – spočítajte jedinečných návštevníkov webovej stránky

Predpokladajme, že spoločnosť vyrábajúca pizzu „YummyPizza“ prevádzkuje webovú stránku s názvom yummypizza.com, kde si ľudia môžu objednať pizzu online. Aby mohli sledovať svoj predaj a zákaznícku základňu, udržiavajú databázu Redis, do ktorej každý mesiac ukladajú všetkých jedinečných návštevníkov webovej stránky.

Kedykoľvek používateľ navštívi webovú stránku YummyPizza, ID používateľa by sa malo pridať do databázy Redis. Rovnaký používateľ by tiež nemal byť pridaný do databázy. Ideálnou dátovou štruktúrou je teda množina Redis, kde množiny uchovávajú iba jedinečné členy.

Predpokladajme, že web navštívilo päť používateľov a títo členovia sú pridaní do databázy Redis, ako je uvedené nižšie.

SADD YummyPizzaNávštevníci:Október John Mary Raza Stoinis Prince

Ako sa očakávalo, vrátilo sa celé číslo 5, čo znamená, že päť členov sa pridá do množiny uloženej v kľúči „ Návštevníci lahodnej pizze: október.

Na konci dňa musia správcovia spoločností skontrolovať celkový počet jedinečných návštevníkov webovej stránky. Preto je potrebné vypočítať mohutnosť množiny. Našťastie, predtým diskutovaný príkaz SCARD príde vhod v tomto type scenára.

Vykonajme príkaz SCARD na súprave uloženej v kľúči „ Návštevníci lahodnej pizze: október.

scard YummyPizzaNávštevníci:Október

Výstup je 5, čo znamená, že v špecifikovanej množine je päť jedinečných členov. Tento príkaz sa vykonáva príliš rýchlo. Nezáleží na piatich členoch alebo 50 000 členoch; čas vykonania bude konštantný.

Predpokladajme, že zadaný kľúč sady neexistuje v databáze Redis. Potom bude výstup 0, ako je znázornené v nasledujúcom príklade. V tomto prípade zadáme kľúč, ktorý nie je v databáze.

zahodiť neexistujúci kľúč

Záver

Aby sme to zhrnuli, Redis set je ideálnym kandidátom na ukladanie jedinečných reťazcov. Ako už bolo spomenuté, najdôležitejšou vecou v sade Redis je, že väčšina operácií súvisiacich s množinou trvá konštantne. Príkaz SCARD je jedným z najpoužívanejších príkazov množiny na výpočet celkového počtu členov množiny pre danú množinu uložených na špecifikovanom kľúči. Bez ohľadu na to, koľko členov sady je dostupných, tento príkaz potrebuje konštantný čas na poskytnutie výstupu. Ako je znázornené v poslednom príklade, ak kľúč set neexistuje, výstup bude 0.