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.
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:
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.
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:
Šī komanda parāda, kā atslēgai tiek izmantota komanda 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 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.