Redis bitmaps

Redis bitmaps
En bitmap er ganske enkelt en rekke biter. Derfor er det ofte kjent som litt matrise eller bitvektor. Det er en av datastrukturene som gjør Redis ganske fleksibel og omfattende ut av boksen. Hvis du trenger å lagre et kart over boolsk informasjon i et kompakt rom, vil bitmaps være ditt standardvalg.

La oss diskutere hvordan vi bruker bitmaps i Redis ved hjelp av denne opplæringen.

Redis bitmaps

Før du dykker ned i de faktiske kommandoene og lagrer bitmaps, er det få ting å merke seg.

En bitmap er ikke en naturlig datatype i Redis. I virkeligheten er de et sett med bitorienterte operasjoner bygget på strengtypen.

Bitoperasjoner er kategorisert i to hovedgrupper:

  1. Konstant-tid enkeltbit-operasjoner.
  2. Gruppebitoperasjoner.

Et eksempel på en enkelt-biters operasjon er litt fra 1 til 0 eller henter verdien av litt.

En gruppebitoperasjon kan innebære en prosess som å få antall biter innenfor et bestemt område.

Redis Create Bitmap

For å lage en nøkkel som holder en bitmap i Redis, bruker vi Setbit -kommandoen. Kommandoen tar navnet på nøkkelen, forskyvningsverdien og den faktiske biten som argumenter.

Syntaksen er som vist:

127.0.0.1: 6379> Setbit Key Offset Bit

Hvis den spesifiserte nøkkelen ikke eksisterer, vil Redis opprette en ny som kan holde litt ved en spesifisert forskyvning.

Forskyvningsverdien må være større enn eller lik 0, men mindre enn 2^32. Dette er fordi bitmaps er begrenset til 512 MB.

Oppsummering: litt representerer den mest grunnleggende informasjonsenheten og har to mulige verdier. Enkelt sagt brukes litt for å beskrive logisk statlig informasjon som ja/nei, 1/0, +/-, etc.

Eksempler vises nedenfor.

127.0.0.1: 6379 [10]> Setbit Bitkey 2 1
(Heltall) 0
127.0.0.1: 6379 [10]> Setbit Bitkey 2 0
(Heltall) 1

Redis telling antall faste biter

For å bestemme antall faste biter i Redis, bruk Bitcount -kommandoen. Ta eksemplet.

127.0.0.1: 6379 [10]> Setbit Bitkey 3 1
127.0.0.1: 6379 [10]> Setbit Bitkey 4 1
127.0.0.1: 6379 [10]> Setbit Bitkey 5 1
127.0.0.1: 6379 [10]> Setbit Bitkey 6 1
127.0.0.1: 6379 [10]> Setbit Bitkey 7 1
For å få antall faste biter, kjør:
127.0.0.1: 6379 [10]> Bitcount Bitkey
(Heltall) 5

Dette skal returnere antall faste biter som et heltall.

Merk: En fast bit refererer til hvilken som helst bit hvis verdi er satt til 1.

Redis bitwise operasjoner

Vi kan utføre bitvis operasjoner ved hjelp av bitop -kommandoen. For å oppnå en bitvis og drift, kan vi for eksempel gjøre:

127.0.0.1: 6379 [10]> Setbit Bitkey2 3 1
(Heltall) 0

I eksemplet over lager vi en ny bitmap og kaller det BitKey2.

Vi kan deretter utføre bitvis og operasjon som vist:

127.0.0.1: 6379 [10]> Bitop og Bitkey Bitkey2
(Heltall) 1

For å få nøklene, løp:

127.0.0.1: 6379 [10]> Få BitKey2
"\ x10"

Redis henter bitverdi

For å få bittverdien lagret ved en spesifikk forskyvning, bruk GetBit -kommandoen etterfulgt av målforskyvningen.

Et eksempel er som vist:

127.0.0.1: 6379 [10]> GetBit Bitkey 3
(Heltall) 1

Hvis biten ved den spesifiserte forskyvningen ikke er angitt, returnerer kommandoen 0 som vist:

127.0.0.1: 6379 [10]> GetBit Bitkey 200
(Heltall) 0

Konklusjon

I denne artikkelen dekket vi grunnleggende om bitmaps og hvordan du bruker dem i Redis. Sjekk dokumentene for å lære mer.

Takk for at du leste!!