atgriezt DECR

Atgriezt Decr



Redis Integer Manipulācija

Virknes tips ir vissvarīgākais datu tips, ko piedāvā Redis. Redis virknes spēj saglabāt tekstus, serializētus JSON objektus, attēlus, audio un pat skaitliskas vērtības. Šajā rokasgrāmatā mēs koncentrēsimies uz skaitliskām vērtībām un manipulācijām ar veseliem skaitļiem. Redis neatbalsta atsevišķus veselu skaitļu datu tipus, lai glabātu skaitliskos datus. Ja Redis atslēgā ir virkne, ko var attēlot kā veselu skaitli, Redis var interpretēt skaitļu vērtības kā 10 bāzes 64 bitu veselus skaitļus.


Skaitļu manipulācijas ir ārkārtīgi noderīga funkcija, kas ir pieejama jebkurā datu bāzē. Redis piedāvā vairākas noderīgas darbības, lai strādātu ar veselu skaitļu tipiem, piemēram, INCR, DECR, INCRBY utt. Šajā rokasgrāmatā ir detalizēti izskaidrota komanda DECR, kas darbojas ar veselu skaitļu tipiem.







DECR komanda

Komanda DECR tiek ieviesta, lai par vienu samazinātu skaitļa vērtību, kas tiek saglabāta dotajā atslēgā. Tas darbojas tikai ar virknes vērtībām, kuras var attēlot kā 10 bāzes 64 bitu veselu skaitli. Komanda DECR rada kļūdu vērtībām, kas nav virknes, vai virknes vērtībām, kuras nevar attēlot kā veselus skaitļus.



Tālāk ir norādīta komandas DECR sintakse:



DECR atslēga


Taustiņš: Atslēga, kas satur virknes vērtību.





Komanda DECR pēc samazināšanas darbības atgriež iegūto parakstīto veselo skaitli. Ja norādītā atslēga neeksistē, komanda iestata vērtību uz 0 un pēc tam samazina to par vienu. Kļūda tiek parādīta arī tad, ja vērtība nav virkne vai to nevar attēlot kā veselu skaitli ar 64 bitu zīmi. Šī komanda darbojas ar nemainīgu laika sarežģītību (O(1)), kas ir ārkārtīgi ātra.

Lietošanas gadījums — samaziniet spēlētāja veselību tiešsaistes spēlē

Pieņemsim tiešsaistes spēli, kurā katra spēlētāja veselība tiek palielināta par vienu, kad tiek atklāta medikamenta pakotne. Līdzīgi veselība samazinās par vienu, ja spēlētājs krīt vai viņu sasita cits spēlētājs.



Ideāls kandidāts spēlētāja veselības saglabāšanai ir Redis virknes veids, kurā mēs varam saglabāt veselības stāvokli kā veselu skaitli. Izveidosim atslēgu veselība:spēlētāja ID:1 un iestatiet tā vērtību uz 10. Mēs varam izmantot komandu SET šādi:

komplekts veselība:spēlētāja ID: 1 10



Mēs varam izmantot komandu GET, lai pārbaudītu saglabāto vērtību veselība:spēlētāja ID:1.

iegūt veselību:playerID: 1



Pieņemsim, ka spēlētājs ar ID 1 saņem sitienu un veselība jāsamazina par vienu. Komandu DECR var izmantot šādi:

decr health:playerID: 1


Kā paredzēts, komanda DECR izdrukā atjaunināto vērtību pēc samazināšanas darbības, kā parādīts nākamajā attēlā:


Mēs varam arī pārbaudīt atslēgā saglabāto vērtību veselība:spēlētāja ID:1 ar komandu GET.

iegūt veselību:playerID: 1



Kā gaidīts, vērtība samazinājās par vienu.

DECR operators ir derīgs arī ar negatīviem skaitļiem. Saglabāsim jaunu negatīvu skaitlisko vērtību taustiņā negatīvs:vērtība1 .

komplekts negatīvs:vērtība1 -3


Mēs varam pārbaudīt vērtību, izmantojot komandu GET šādi:

iegūt negatīvu:vērtība1



Šī komanda parāda, kā atslēgai tiek izmantota komanda DECR negatīvs:vērtība1:

decr negatīvs:vērtība1


DECR komanda vērtībām, kas nav veseli skaitļi

Ir daži malas gadījumi, kad mēs cenšamies izmantot komandu DECR Redis taustiņam, kurā ir datu tips, kas nav virkne, vai virkne, kuru nevar attēlot kā veselu skaitli. Komanda DECR rada kļūdu šādos gadījumos, kā parādīts šajā piemērā:

komplekts notAnIntergerVal Sveiki


“Sveiki” ir teksts, ko nevar pārvērst par veselu skaitli ar zīmi. Tātad komanda DECR rada kļūdu, ja mēs to saucam pret šo taustiņu.

decr notAnIntergerVal


DECR komanda uz neesošām atslēgām

Dažos gadījumos varat izsaukt komandu DECR uz atslēgas, kas neeksistē Redis datu krātuvē. Tātad komanda izveido norādīto atslēgu un iestata tās vērtību uz veselu skaitli 0. Tajā pašā laikā vērtība tiek samazināta par vienu.

decr neeksistējoša atslēga


Kā gaidīts, izvade ir -1.


Kopumā komanda DECR ir ļoti noderīga, lai ieviestu skaitītājus zema latentuma lietojumprogrammās.

Secinājums

Rezumējot, DECR ir viena no komandām, kas darbojas ar skaitliskām vērtībām, kas tiek saglabātas noteiktā Redis atslēgā. Redis neatbalsta atsevišķu veselu skaitļu datu tipu. Tātad virknes veids tiek izmantots arī skaitlisko vērtību saglabāšanai. Kā pārbaudīts, ja virknes vērtību var attēlot kā 64 bitu zīmīgu veselu skaitli, komandu DECR var izmantot, lai samazinātu tās vērtību. Vissvarīgākais ir tas, ka tas darbojas nemainīgā laika sarežģītībā. Arī komanda DECR tiek plaši izmantota, lai ieviestu skaitītājus.