Oefening: Broker-berichten met streams
Uw retailtoepassing gebruikt momenteel bestanden aan de serverzijde om relevante informatie van mobiele apparaten vast te leggen bij het uitvoeren van interne software. Helaas zijn er meerdere problemen met het uitschalen van deze oplossing; inclusief gelijktijdigheid tussen talloze clients, ontbrekende gegevens en vergrendelingen die voorkomen dat lees- of schrijfacties worden uitgevoerd. Uw team heeft besloten om verder te gaan met een middlewareoplossing die kan fungeren als berichtbroker.
In deze oefening implementeert u Streams in een Azure Cache voor Redis exemplaar.
Vermeldingen toevoegen aan een stream
Vermeldingen worden toegevoegd aan een nieuwe of bestaande stream met behulp van de XADD
opdracht. De stream wordt automatisch gemaakt als deze nog niet bestaat.
Meld u aan bij de Azur-portal met hetzelfde account waarmee u de sandbox hebt geactiveerd.
Selecteer meer services in de categorie Azure-services, selecteer de categorie Databases en selecteer vervolgens Azure Cache voor Redis.
Selecteer het Azure Cache voor Redis exemplaar dat u in een vorige oefening hebt gemaakt.
Selecteer Console in het resourcevenster om de Redis-console te openen.
Gebruik de opdracht in de
XADD
console om de volgende nieuwe vermeldingen toe te voegen:Stream Code Gegevens org.logs.clientapp 1324092248593-0 device-id mobile error unknown-crash
org.logs.clientapp 1481945061467-0 worker-process 1788 status success
XADD org.logs.clientapp 1324092248593-0 device-id mobile error unknown-crash XADD org.logs.clientapp 1481945061467-0 worker-process 1788 status success
Bekijk de uitvoer van de twee aanroepen van de
XADD
opdracht. De uitvoer bevat de sleutel van de zojuist toegevoegde vermeldingen."1324092248593-0" "1481945061467-0"
Gebruik de
XADD
opdracht om nog een nieuwe vermelding toe te voegen met een automatisch gegenereerde id:Stream Gegevens org.logs.clientapp application-status started
XADD org.logs.clientapp * application-status started
Bekijk de uitvoer van de aanroep van de
XADD
opdracht. De uitvoer bevat een zojuist gegenereerde sleutel op basis van de huidige Unix-tijd in milliseconden en een volgnummer. Als de sleutel bijvoorbeeld 1638502526759-0 is, is de uitvoer:"1638502526759-0"
Alle gehele items in een stream ophalen en tellen
Met de XLEN
opdracht wordt het aantal vermeldingen in een stream geteld. Zodra u klaar bent om query's uit te voeren op de vermeldingen, kunt u de XRANGE
opdracht gebruiken om vermeldingen in de stream op te halen.
Gebruik de
XLEN
opdracht om het aantal vermeldingen in de stream org.logs.clientapp te tellen:XLEN org.logs.clientapp
Bekijk de uitvoer van de
XLEN
opdracht. De uitvoer is een geheel getal met de waarde 3 voor de items die eerder in deze oefening zijn gemaakt.(integer) 3
Gebruik de
XRANGE
opdracht en zowel de als de+
-
operators om een bereik van alle gegevens op te halen in de stream org.logs.clientapp :XRANGE org.logs.clientapp - +
Bekijk de uitvoer van het aanroepen van de
XRANGE
opdracht. Deze uitvoer bevat alle drie de vermeldingen in de stream.1) 1) "1324092248593-0" 2) 1) "device-id" 2) "mobile" 3) "error" 4) "unknown-crash" 2) 1) "1481945061467-0" 2) 1) "worker-process" 2) "1788" 3) "status" 4) "success" 3) 1) "1638502526759-0" 2) 1) "application-status" 2) "started"
Notitie
De laatste sleutel komt niet exact overeen met de id die in dit voorbeeld wordt gebruikt.
Een subset met vermeldingen in een stream ophalen
De XRANGE
opdracht bevat een +
en -
operator. Deze operators kunnen worden gebruikt met sleutels om een subset van de gegevens in een stream op te vragen op basis van een tijdsbereik.
Roep de
XRANGE
opdracht aan met behulp van de-
operator en de sleutel van de tweede vermelding (1481945061467-0):XRANGE org.logs.clientapp - 1481945061467-0
Bekijk de uitvoer van de aanroep van de
XRANGE
opdracht. De uitvoer bevat alle vermeldingen vanaf het begin van de stroom, chronologisch, tot aan de tweede vermelding.1) 1) "1324092248593-0" 2) 1) "device-id" 2) "mobile" 3) "error" 4) "unknown-crash" 2) 1) "1481945061467-0" 2) 1) "worker-process" 2) "1788" 3) "status" 4) "success"
Roep de
XRANGE
opdracht aan met behulp van de sleutel van de tweede vermelding (1481945061467-0) en de+
operator:XRANGE org.logs.clientapp 1481945061467-0 +
Bekijk de uitvoer van de aanroep van de
XRANGE
opdracht. De uitvoer bevat het tweede item en vervolgens alle vermeldingen tot het einde van de stroom, chronologisch.1) 1) "1481945061467-0" 2) 1) "worker-process" 2) "1788" 3) "status" 4) "success" 2) 1) "1638502526759-0" 2) 1) "application-status" 2) "started"
Notitie
De laatste sleutel komt niet exact overeen met de sleutel die in dit voorbeeld wordt gebruikt.