Quickstart: Azure Cache voor Redis in Node.js gebruiken

In deze quickstart neemt u Azure Cache voor Redis op in een Node.js-app voor toegang tot een veilige, toegewezen cache die toegankelijk is vanuit elke toepassing binnen Azure.

Ga naar de code op GitHub

Als u direct naar de code wilt gaan, bekijkt uNode.js quickstart over GitHub.

Vereisten

Voor voorbeelden van het gebruik van andere Node.js-clients, verwijzen wij u naar de afzonderlijke documentatie voor de Node.js-clients die staat vermeld op Node.js Redis-clients.

Een cache maken

  1. Als u een cache wilt maken, meldt u zich aan bij de Azure-portal en selecteert u Een resource maken.

    Een resource maken is gemarkeerd in het linkernavigatiedeelvenster.

  2. Selecteer op de pagina Nieuw de optie Databases en selecteer vervolgens Azure Cache voor Redis.

    In Nieuw is Databases gemarkeerd. Azure Cache voor Redis is ook gemarkeerd.

  3. Configureer op de pagina Nieuwe Redis-cache de instellingen voor de nieuwe cache.

    Instelling Een waarde kiezen Beschrijving
    Abonnement Open de vervolgkeuzelijst en selecteer uw abonnement. Het abonnement waarmee dit nieuwe Azure Cache voor Redis-exemplaar wordt gemaakt.
    Resourcegroep Open de vervolgkeuzelijst en selecteer een resourcegroep of kies Nieuwe maken en geef een naam voor de nieuwe resourcegroep op. Naam voor de resourcegroep waarin de cache en andere resources moeten worden gemaakt. Door al uw app-resources in één resourcegroep te plaatsen, kunt u ze eenvoudig beheren of verwijderen.
    DNS-naam Voer een unieke naam in. De cachenaam moet een tekenreeks tussen 1 en 63 tekens zijn die alleen cijfers, letters of afbreekstreetes bevat. De naam moet beginnen en eindigen met een cijfer of letter en mag geen opeenvolgende afbreekstreepjes bevatten. De hostnaam van uw cache-exemplaar wordt <DNS name>.redis.cache.windows.net.
    Locatie Open de vervolgkeuzelijst en selecteer een locatie. Selecteer een regio in de buurt van andere services die gaan gebruikmaken van de cache.
    Cachetype Selecteer een laag in de vervolgkeuzecategorie. De grootte, prestaties en functies die beschikbaar zijn voor de cache, zijn afhankelijk van de gekozen laag. Zie het Azure Cache voor Redis-overzicht voor meer informatie.
  4. Selecteer het tabblad Netwerken of selecteer de knop Netwerken onder aan de pagina.

  5. Selecteer uw verbindingsmethode op het tabblad Netwerk.

  6. Selecteer het tabblad Volgende: Geavanceerd of selecteer de knop Volgende: Geavanceerd onderaan de pagina.

  7. Selecteer in het tabblad Geavanceerd voor een basic of standard cache-exemplaar de schakeloptie inschakelen als u een niet-TLS-poort wilt inschakelen. U kunt ook selecteren welke Redis-versie u wilt gebruiken, 4 of 6.

    Redis-versie 4 of 6.

  8. Configureer in het tabblad Geavanceerd voor premium cache-exemplaar de instellingen voor een niet-TLS-poort, clustering en gegevenspersistentie. U kunt ook selecteren welke Redis-versie u wilt gebruiken, 4 of 6.

  9. Selecteer het tabblad Volgende: Tags of selecteer de knop Volgende: Tags onderaan de pagina.

  10. Voer desgewenst in het tabblad Tags de naam en waarde in om de resource te categoriseren.

  11. Selecteer Controleren + maken. Het tabblad Beoordelen + maken wordt weergegeven, waar uw configuratie wordt gevalideerd in Azure.

  12. Selecteer Maken nadat het groene bericht Validatie geslaagd verschijnt.

Het duurt even voor de cache is gemaakt. U kunt de voortgang bekijken op de overzichtspagina van Azure Cache voor Redis. Als u bij Status Wordt uitgevoerd ziet staan, kunt u de cache gebruiken.

Hostnaam, poorten en toegangssleutels ophalen uit Azure Portal

Cache-clients hebben de hostnaam, poorten en sleutels van de cache nodig om verbinding te maken met een Azure Cache for Redis-instantie. Sommige clients kunnen enigszins andere namen gebruiken om naar deze items te verwijzen. U kunt de hostnaam, poorten en toegangssleutels ophalen uit Azure Portal.

  • Als u de toegangssleutels wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Toegangssleutels.

    Sleutels van Azure Cache voor Redis

  • Als u de hostnaam en poorten wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Eigenschappen. De hostnaam heeft de indeling <DNS name>.redis.cache.windows.net.

    Eigenschappen van Azure Cache voor Redis

Voeg omgevingsvariabelen toe voor HOST NAME en Primary (primaire toegangssleutel). Gebruik deze variabelen uit uw code in plaats van de gevoelige informatie rechtstreeks in uw code op te nemen.

set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net
set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net
set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Verbinding maken met de cache

De meest recente versies van node_redis bieden ondersteuning voor het via TLS maken van verbinding met Azure Cache voor Redis. Het volgende voorbeeld laat zien hoe u via het TLS-eindpunt 6380 verbinding maakt met Azure Cache voor Redis.

var redis = require("redis");

// Add your cache name and access key.
var client = redis.createClient(6380, process.env.REDISCACHEHOSTNAME,
    {auth_pass: process.env.REDISCACHEKEY, tls: {servername: process.env.REDISCACHEHOSTNAME}});

Maak geen nieuwe verbinding voor elke bewerking in uw code. Probeer verbindingen zo veel mogelijk te hergebruiken.

Een nieuwe Node.js-app maken

Maak een nieuw scriptbestand met de naam redistest.js. Gebruik de opdracht npm install redis bluebird om de vereiste pakketten te installeren.

Voeg het volgende voorbeeld van JavaScript toe aan het bestand. Deze code laat zien hoe u verbinding kunt maken met een instantie van Azure Cache voor Redis via de omgevingsvariabelen voor hostnaam en sleutel. Met de code wordt ook een tekenreekswaarde opgeslagen in de cache en daaruit opgehaald. De opdrachten PING en CLIENT LIST worden ook uitgevoerd. Zie https://redis.js.org/ voor meer voorbeelden van het gebruik van Redis met de node_redis-client.

var redis = require("redis");
var bluebird = require("bluebird");

// Convert Redis client API to use promises, to make it usable with async/await syntax
bluebird.promisifyAll(redis.RedisClient.prototype);
bluebird.promisifyAll(redis.Multi.prototype);

async function testCache() {

    // Connect to the Azure Cache for Redis over the TLS port using the key.
    var cacheConnection = redis.createClient(6380, process.env.REDISCACHEHOSTNAME, 
        {auth_pass: process.env.REDISCACHEKEY, tls: {servername: process.env.REDISCACHEHOSTNAME}});
        
    // Perform cache operations using the cache connection object...

    // Simple PING command
    console.log("\nCache command: PING");
    console.log("Cache response : " + await cacheConnection.pingAsync());

    // Simple get and put of integral data types into the cache
    console.log("\nCache command: GET Message");
    console.log("Cache response : " + await cacheConnection.getAsync("Message"));    

    console.log("\nCache command: SET Message");
    console.log("Cache response : " + await cacheConnection.setAsync("Message",
        "Hello! The cache is working from Node.js!"));    

    // Demonstrate "SET Message" executed as expected...
    console.log("\nCache command: GET Message");
    console.log("Cache response : " + await cacheConnection.getAsync("Message"));    

    // Get the client list, useful to see if connection list is growing...
    console.log("\nCache command: CLIENT LIST");
    console.log("Cache response : " + await cacheConnection.clientAsync("LIST"));    
}

testCache();

Voer het script uit met Node.js.

node redistest.js

In het onderstaande voorbeeld ziet u dat de Message-sleutel eerder een waarde in de cache had, die was ingesteld met behulp van de Redis Console in Azure Portal. De app heeft die waarde in de cache bijgewerkt. De app heeft ook de opdrachten PING en CLIENT LIST uitgevoerd.

Redis Cache-app voltooid

Resources opschonen

Als u verder gaat met de volgende zelfstudie, kunt u de resources die in deze quickstart zijn gemaakt behouden en opnieuw gebruiken.

Als u anders klaar bent met de voorbeeldtoepassing voor de quickstart, kunt u de Azure-resources verwijderen die in deze quickstart zijn gemaakt om kosten te voorkomen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle bijbehorende resources worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor het hosten van dit voorbeeld hebt gemaakt in een bestaande resourcegroep die resources bevat die u wilt behouden, kunt u elke resource aan de linkerkant afzonderlijk verwijderen in plaats van de resourcegroep te verwijderen.

Meld u aan bij Azure Portal en selecteer Resourcegroepen.

Voer de naam van de resourcegroep in, in het tekstvak Filteren op naam. In de instructies voor dit artikel is een resourcegroep met de naam TestResources gebruikt. Selecteer ... in de resourcegroep in de lijst met resultaten en vervolgens Resourcegroep verwijderen.

Azure-resourcegroep verwijderen

U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.

Na enkele ogenblikken worden de resourcegroep en alle resources in de groep verwijderd.

Volgende stappen

In deze snelstartgids hebt u geleerd hoe u Azure Cache voor Redis gebruikt vanuit een Node.js-toepassing. Ga verder met de volgende snelstart om Azure Cache voor Redis te gebruiken met een ASP.NET-web-app.