Oefening: Broker-berichten met streams

Voltooid

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.

  1. Meld u aan bij de Azur-portal met hetzelfde account waarmee u de sandbox hebt geactiveerd.

  2. Selecteer meer services in de categorie Azure-services, selecteer de categorie Databases en selecteer vervolgens Azure Cache voor Redis.

  3. Selecteer het Azure Cache voor Redis exemplaar dat u in een vorige oefening hebt gemaakt.

  4. Selecteer Console in het resourcevenster om de Redis-console te openen.

  5. 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
    
  6. 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"
    
  7. 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
    
  8. 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.

  1. Gebruik de XLEN opdracht om het aantal vermeldingen in de stream org.logs.clientapp te tellen:

    XLEN org.logs.clientapp
    
  2. 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
    
  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 - +
    
  4. 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.

  1. 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
    
  2. 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"
    
  3. 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 +
    
  4. 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.