Strømmer er en enkel, men allsidig og kraftig datastruktur som lar deg implementere strømmer i Redis. Strømmer er innebygde typer fra Redis versjon 5.0 og kan bidra til å fjerne begrensningene i loggdatastrukturen.
I denne artikkelen vil vi fokusere på å bruke og jobbe med Redis -strømmer i stedet for selve implementeringen. Du kan imidlertid sjekke dokumentene for mer.
Redis skaper strøm
For å lage en strøm i Redis, bruker vi XADD -kommandoen etterfulgt av strømnavnet, ID, nøkkel og data som parametere.
Syntaksen er som vist:
Xadd [stream name] [id] [nøkkel] [data]Eksempel er som vist:
127.0.0.1: 6379> Xadd DataStream * IP 231.17.140.219I eksemplet ovenfor kjører vi XADD-kommandoen for å legge til en ny strøminngang. I vårt eksempel, gi oppføringsdatastreamet med en unik ID.
Selv om du kan angi en ID manuelt, bruker vi stjerne for å fortelle Redis for å automatisk generere en unik identifikator. Dette er output fra kommandoen ovenfor.
MERK: Hver generert IP er monotonisk økt fra de forrige. I de fleste tilfeller vil du sjelden trenge å angi ID for en oppføring manuelt. Vi kan gjøre dette som vist i kommandoen nedenfor:
127.0.0.1: 6379> XADD Datastream 74376383723373 IP 171.17.140.219I kommandoen over spesifiserer vi manuelt oppførings -ID.
Oppføringen har et felt og verdi IP og tilsvarende IP.
Redis Legg til strøm med grense
I noen tilfeller vil du kanskje ikke at strømoppføringene skal gå over en spesifikk verdi. Du kan gjøre dette ved å spesifisere maxlen -parameteren som:
XADD DataStream Maxlen 100 * IP 231.17.140.219Redis Stream -oppføringer
For å få antall oppføringer i en Redis -strøm, kan vi bruke XLEN -kommandoen som:
127.0.0.1: 6379> xlen DatastreamDette skal returnere et heltall som angir antall oppføringer i strømmen.
Få dat fra strømmen
Vi kan iterere over oppføringene i en strøm ved å spesifisere start- og slutt -ID -ene som vist i kommandoen:
127.0.0.1: 6379> Xrange Datastream - +Bruke parametrene - + (nedre og øvre grense) returnerer alle oppføringene i strømmen. Du kan også spesifisere et område som:
127.0.0.1: 6379> Xrange DataStream 1646904960928-0 74376383723373-0Kommandoen skal returnere oppføringene innen ID -området som er spesifisert.
Redis leste alt
For å lese hver oppføring i strømmen som starter fra toppen, bruk xread -kommandoen som vist:
127.0.0.1: 6379> xread count 100 strømmer Datastream 0For å lese bare nye data når de kommer, bruk kommandoen som:
127.0.0.1: 6379> XREAD Block 10000 Streams Datastream $Kommandoen vil vente fra noen strømoppføringer for de spesifiserte millisekundene og deretter lukke. I vårt tilfelle satte vi ventetiden for 10000 millisekunder.
Konklusjon
Denne opplæringen gir det grunnleggende om å jobbe med datastrømmer i Redis. Sjekk dokumentene for mer.