Ce face ZINCRBY
ZINCRBY adaugă increment la scorul membrului. Dacă membrul nu există, este adăugat cu scorul egal cu incrementul; dacă setul nu există, este creat.
Este comanda tipică pentru clasamente care se schimbă des: „cele mai vizitate articole”, „cele mai vândute produse”. Un increment negativ scade scorul.
Parametri
| Parametru | Descriere |
|---|---|
increment |
Cât se adaugă la scor (poate fi negativ sau zecimal). |
member |
Membrul al cărui scor se schimbă. |
Ce returnează
Scorul nou, ca șir.
Exemple
Exemplul 1: Cele mai vizitate articole
Fiecare vizită crește scorul articolului cu 1.
ZINCRBY populare 1 articol:redis-set
ZINCRBY populare 1 articol:redis-set
ZINCRBY populare 1 articol:mongodb-find
ZRANGE populare 0 -1 REV WITHSCORES
Ieșire în redis-cli
127.0.0.1:6379> ZINCRBY populare 1 articol:redis-set
"1"
127.0.0.1:6379> ZINCRBY populare 1 articol:redis-set
"2"
127.0.0.1:6379> ZINCRBY populare 1 articol:mongodb-find
"1"
127.0.0.1:6379> ZRANGE populare 0 -1 REV WITHSCORES
1) "articol:redis-set"
2) "2"
3) "articol:mongodb-find"
4) "1"
Exemplul 2: Penalizare într-un joc
Un increment negativ scade scorul.
ZADD clasament 1520 ana
ZINCRBY clasament -70 ana
Ieșire în redis-cli
127.0.0.1:6379> ZADD clasament 1520 ana
(integer) 1
127.0.0.1:6379> ZINCRBY clasament -70 ana
"1450"
Greșeli frecvente
- Ordinea este
increment member; inversate, primești eroareaERR value is not a valid float. - Rezultatul este șir, nu
(integer): în aplicație îl convertești la număr.
Comenzi înrudite
ZADD: Adaugă membri cu un scor numeric într-un set sortat sau le actualizează scorul; baza clasamentelor din Redis.ZSCORE / ZMSCORE: Citește scorul unui membru dintr-un set sortat; ZMSCORE citește scorurile mai multor membri.INCR / INCRBY / DECR: Crește sau scade atomic un număr salvat într-o cheie; ideal pentru contoare de vizite, stocuri și ID-uri.HINCRBY / HINCRBYFLOAT: Crește sau scade atomic un câmp numeric dintr-un hash, de exemplu stocul sau numărul de comenzi ale unui client.