returnează DECR

Returneaza Decr



Manipularea numerelor întregi Redis

Tipul șir este cel mai fundamental tip de date oferit de Redis. Șirurile Redis sunt capabile să stocheze texte, obiecte JSON seriate, imagini, sunet și chiar valori numerice. În acest ghid, ne vom concentra pe valorile numerice și pe manipularea numerelor întregi. Redis nu acceptă tipurile de date întregi separate pentru a păstra datele numerice. Dacă o cheie Redis conține un șir care poate fi reprezentat ca un număr întreg, Redis poate interpreta valorile numerice ca numere întregi cu semn de bază 10 pe 64 de biți.


Manipularea numerelor este o caracteristică extrem de utilă de a avea în orice bază de date. Redis oferă mai multe operații utile pentru a lucra pe tipuri de întregi precum INCR, DECR, INCRBY etc. În acest ghid, comanda DECR care operează pe tipuri de întregi este explicată în detaliu.







Comandamentul DECR

Comanda DECR este introdusă pentru a decrementa o valoare numerică care este stocată la o anumită cheie cu una. Acest lucru funcționează numai pe valorile șirului de caractere care pot fi reprezentate ca un întreg de bază 10 pe 64 de biți. Comanda DECR afișează o eroare pentru valorile fără șir sau pentru valorile șir care nu pot fi reprezentate ca numere întregi.



Următoarea este sintaxa comenzii DECR:



Tasta DECR


Cheie: Cheia care deține valoarea șirului.





Comanda DECR returnează întregul semn rezultat după operația de decrementare. Dacă cheia specificată nu există, comanda setează valoarea la 0 și apoi o decrește cu unu. De asemenea, se afișează o eroare atunci când valoarea nu este un șir sau nu poate fi reprezentată ca un întreg cu semn de 64 de biți. Această comandă operează pe o complexitate de timp constantă (O(1)), care este extrem de rapidă.

Caz de utilizare – Reduceți sănătatea jucătorului într-un joc online

Să presupunem un joc online în care sănătatea fiecărui jucător este crescută cu unu atunci când este dezvăluit un pachet de medii. În mod similar, sănătatea scade cu unu dacă jucătorul cade sau este lovit de un alt jucător.



Candidatul ideal pentru a stoca sănătatea unui jucător este un tip de șir Redis în care putem stoca sănătatea ca număr întreg. Să creăm o cheie sănătate:playerID:1 și setați-i valoarea la 10. Putem folosi comanda SET după cum urmează:

a stabilit sănătate:playerID: 1 10



Putem folosi comanda GET pentru a verifica valoarea stocată la sănătate:playerID:1.

obține sănătate:playerID: 1



Să presupunem că jucătorul cu ID-ul 1 este lovit și sănătatea ar trebui să fie redusă cu unul. Comanda DECR poate fi utilizată după cum urmează:

decr health:playerID: 1


Așa cum era de așteptat, comanda DECR tipărește valoarea actualizată după operația de reducere, așa cum se arată în figura următoare:


De asemenea, putem inspecta valoarea stocată la cheie sănătate:playerID:1 cu comanda GET.

obține sănătate:playerID: 1



După cum era de așteptat, valoarea a scăzut cu unu.

Operatorul DECR este valabil și cu numere negative. Să stocăm o nouă valoare numerică negativă la cheie negativ:valoare1 .

a stabilit negativ:valoare1 -3


Putem inspecta valoarea folosind comanda GET după cum urmează:

obține negativ:value1



Următoarea comandă arată cum este utilizată comanda DECR pe tastă negativ:value1:

decr negative:value1


Comanda DECR pentru valori non-intrege

Există unele cazuri marginale când încercăm să folosim comanda DECR pe o cheie Redis care deține un tip de date fără șir sau un șir care nu poate fi reprezentat ca un număr întreg. Comanda DECR afișează o eroare în acele cazuri, așa cum se arată în exemplul următor:

a stabilit notAnIntergerVal Bună


„Bună ziua” este un text care nu poate fi convertit într-un număr întreg cu semn. Deci, comanda DECR ridică o eroare dacă o apelăm împotriva acestei chei.

decr notAnIntergerVal


Comanda DECR pe chei inexistente

În unele cazuri, puteți apela comanda DECR pe o cheie care nu există în depozitul de date Redis. Deci, comanda creează cheia specificată și setează valoarea acesteia la întreg 0. În același timp, valoarea este micșorată cu unu.

decr cheie-inexistentă


După cum era de așteptat, rezultatul este -1.


În general, comanda DECR este foarte utilă pentru implementarea contoarelor în aplicații cu latență scăzută.

Concluzie

În rezumat, DECR este una dintre comenzile care operează pe valori numerice care sunt stocate la o anumită cheie Redis. Redis nu acceptă un tip de date întreg separat. Deci, tipul șirului este folosit pentru a păstra și valorile numerice. După cum sa examinat, dacă valoarea șirului poate fi reprezentată ca un întreg cu semn de 64 de biți, comanda DECR poate fi utilizată pentru a-și decrementa valoarea. Cel mai important, funcționează cu o complexitate constantă în timp. De asemenea, comanda DECR este utilizată pe scară largă pentru implementarea contoarelor.