Ce face SINTER / SUNION / SDIFF
SINTER întoarce membrii comuni tuturor seturilor, SUNION toți membrii din oricare set, iar SDIFF membrii din primul set care nu apar în celelalte.
Variantele SINTERSTORE, SUNIONSTORE și SDIFFSTORE salvează rezultatul într-o cheie nouă și întorc numărul de membri. SINTERCARD (Redis 7.0+) întoarce doar câți membri comuni există, cu o limită opțională, fără să trimită membrii.
Parametri
| Parametru | Descriere |
|---|---|
key ... |
Seturile implicate (la SDIFF, primul este cel din care se scade). |
destination |
Cheia unde se salvează rezultatul (variantele *STORE). |
numkeys |
Numărul de seturi (la SINTERCARD). |
LIMIT limit |
SINTERCARD se oprește când a numărat atâția membri. |
Ce returnează
SINTER/SUNION/SDIFF: lista membrilor rezultați. Variantele *STORE și SINTERCARD: un (integer).
Exemple
Exemplul 1: Prieteni comuni
Ana și Dan au în comun doar pe Ioana.
SADD prieteni:ana ioana mihai elena
SADD prieteni:dan ioana radu
SINTER prieteni:ana prieteni:dan
SINTERCARD 2 prieteni:ana prieteni:dan
Ieșire în redis-cli
127.0.0.1:6379> SADD prieteni:ana ioana mihai elena
(integer) 3
127.0.0.1:6379> SADD prieteni:dan ioana radu
(integer) 2
127.0.0.1:6379> SINTER prieteni:ana prieteni:dan
1) "ioana"
127.0.0.1:6379> SINTERCARD 2 prieteni:ana prieteni:dan
(integer) 1
Exemplul 2: Recomandări: prietenii lui Dan pe care Ana nu-i are
SDIFF ține cont de ordine: din primul set se scad celelalte.
SDIFF prieteni:dan prieteni:ana
SUNIONSTORE prieteni:toti prieteni:ana prieteni:dan
Ieșire în redis-cli
127.0.0.1:6379> SDIFF prieteni:dan prieteni:ana
1) "radu"
127.0.0.1:6379> SUNIONSTORE prieteni:toti prieteni:ana prieteni:dan
(integer) 4
Greșeli frecvente
SDIFF a bnu este același lucru cuSDIFF b a.- Pe seturi foarte mari, intersecțiile și reuniunile pot dura mult; pentru rezultate folosite des, salvează-le cu
*STOREși pune o expirare. - În Redis Cluster toate seturile trebuie să fie în același hash slot.