Redis Hincrby

Redis Hincrby

Redis Hash -manipulasjon

Redis Hash kan identifiseres som en datastruktur for feltverdi. Dette kan lagres på en spesifisert redis -tast som vist i følgende illustrasjon:

Vanligvis kan hashfeltverdiene lagre streng, heltall og float -data. En av atomoperasjonene som vi kan utføre på hasj er økningen eller reduksjonen av heltallverdiene som er tilordnet et gitt hasjfelt.

Hincrby -kommandoen brukes til å utføre økning/reduksjon av en heltallverdi. I de følgende seksjoner vil vi diskutere mer om praktisk bruk av Hincrby Hash -kommandoen.

Hincrby -kommandoen

Syntaks:
Hincrby redis_key hash_field_name inkrement_by_value

redis_key: Den øverste nøkkelen til Redis-butikken

hash_field_name: Den unike identifikatoren til hasjfeltet

inkrement_by_value: Heltallverdien av trinnsargumentet

Returverdien til Hincrby -kommandoen er et heltall. Det er verdien av hasjfeltet etter at operasjonen er utført. De inkrement_by_value Argument støtter de 64-biters signerte heltallene som muliggjør vedtakelse av både positive og negative tall.

Når det gitte hasjfeltet ikke eksisterer

La oss si at vi har en Redis Hash -nøkkel Bruker: 001 med ett felt som heter id. Verdien av id Feltet er 10. Hvis vi prøver å øke hasjverdien med 5 for en ikke-eksisterende nøkkel alder, Redis vil skape et nytt felt alder og tilordne verdien til 5.

Når den spesifiserte Redis -nøkkelen ikke eksisterer

Anta at vi passerer nøkkelen som Bruker: 002 til Hincrby -kommandoen med feltet alder og økningsverdien av 10. Siden Bruker: 002 Nøkkelen er ikke tilgjengelig i Redis -butikken, den vil opprette en ny nøkkel Bruker: 002 med et aldersfelt. Verdien av aldersfeltet vil være 10 som er den vedtatte trinns argumentverdi.

Praktisk bruk

Det er mange tilfeller i den virkelige verden av Hincrby Hash-kommandoen:

  • Besøk tellere i webapplikasjoner
  • Ny bruker-ID-oppgave
  • Blokkering av flere påloggingsforsøk
  • Spor bruk og faktureringsstatus
  • Oppdater handlekurvenheter

Den største fordelen med Hincrby -operasjonen er at den ikke trenger en eksplisitt leseoperasjon for å oppdatere hasjverdien. Du kan direkte oppdatere Redis -butikkens hasjverdi. Dette gjør operasjonene virkelig fort.

Eksempel 01 - Fanger bruk og kostnad per bruker

La oss anta at vi må lagre bruks- og kostnadsdata per bruker i et gitt system. Derfor vil vi identifisere hver bruker med en redis -nøkkel. Bruken og kostnadene vil være hasjfeltene for den aktuelle Redis -nøkkelen.

HMSET -bruker: 001 Bruk 50 Kostnad 1500

Vi kan bruke HMSet Hash -kommandoen for å angi flere felt for hasj.

La oss sjekke om brukeren: 001 Hash er lagret riktig i datalageret.

Hgetall -bruker: 001

Produksjon:

Anta at brukeren brukte ytterligere 10 ressurser i systemet, og det vil koste ytterligere 500 dollar. Nå kan vi enkelt bruke Hincrby Hash -kommandoen for å oppdatere dataene for Bruker: 001.

Hincrby Bruker: 001 Bruk 10
Hincrby Bruker: 001 kostet 500

Produksjon:

La oss sjekke brukeren: 001 hashverdier.

Hgetall -bruker: 001

Produksjon:

Eksempel 02 - Å redusere enhetstellingen i handlekurven

I handlekurvene må vi alltid utføre reduksjonsoperasjonene på tellingen av varer når brukeren fjerner et element. La oss lagre varen teller for Bruker: 002.

HMSET -bruker: 002 ITEMA 10 ITEMB 5

I dette tilfellet tildelte vi ITEMA og Itemb teller som henholdsvis 10 og 5. La oss sjekke brukeren: 002 data.

Hgetall -bruker: 002

Produksjon:

La oss anta at Bruker: 002 fjerner 2 itemas og 5 items. Hincrby -kommandoen kan brukes til å utføre denne reduksjonsoperasjonen ved å passere -2 og -5 heltall som økningsargumenter.

Hincrby Bruker: 002 Itema -2
Hincrby Bruker: 002 Itemb -5

Produksjon:

Hincrby -kommandoen er kraftig og effektiv der både økningen og decrement -operasjonene kan utføres ved hjelp av samme kommando med et signert økning. Denne kommandoen har konstant tidskompleksitet. Derfor er det veldig raskt å utføre trinn/reduksjonsoperasjoner på hashes.

Konklusjon

Redis kan lagre forskjellige typer datastrukturer for en bestemt nøkkel. Hasjene er en av de mest populære datastrukturene som brukes i Redis -databasene. Hashes kan brukes til å representere og manipulere enkle objekter og data effektivt. Redis støtter flere hasjoperasjoner. Hincrby er en av de populære kommandoene for å øke og redusere heltallverdiene for et gitt hasjfelt. Den støtter de 64-biters signerte heltallene som økningsverdi. Derfor kan både økningen og decrement -operasjonene utføres ved hjelp av samme kommando.