Snabbstart: Så här använder du Azure Cache for Redis i Node.js

I den här snabbstarten införlivar du Azure Cache for Redis i en Node.js app för att få åtkomst till en säker, dedikerad cache som är tillgänglig från alla program i Azure.

Förutsättningar

  • Azure-prenumeration – skapa en kostnadsfritt
  • node_redis, som du kan installera med kommandot npm install redis.

Exempel på användning av andra Node.js-klienter finns i dokumentationen till enskilda Node.js-klienter som anges i Node.js Redis-klienter.

Skapa en cache

  1. Om du vill skapa en cache loggar du in på Azure-portalen och väljer Skapa en resurs.

    Skapa en resurs är markerad i det vänstra navigeringsfönstret.

  2. På sidan Nytt väljer du Databaser och sedan Azure Cache for Redis.

    På Ny markeras databaser och Azure Cache for Redis markeras.

  3. På sidan Ny Redis Cache konfigurerar du inställningarna för din nya cache.

    Inställning Välj ett värde beskrivning
    Abonnemang Listrutan och välj din prenumeration. Prenumerationen som den nya Azure Cache for Redis-instansen ska skapas under.
    Resursgrupp Listrutan och välj en resursgrupp eller välj Skapa ny och ange ett nytt resursgruppsnamn. Namn på den resursgrupp där cacheminnet och andra resurser ska skapas. Genom att placera alla dina appresurser i en resursgrupp kan du enkelt hantera eller ta bort dem tillsammans.
    DNS-namn Ange ett unikt namn. Cachenamnet måste vara en sträng mellan 1 och 63 tecken som endast innehåller siffror, bokstäver eller bindestreck. Namnet måste börja och sluta med ett tal eller en bokstav och får inte innehålla bindestreck i följd. Värdnamnet för cacheinstansen är <DNS-namnet.redis.cache.windows.net>.
    Plats Listrutan och välj en plats. Välj en region nära andra tjänster som använder din cache.
    Cachetyp Listrutan och välj en nivå. Nivån avgör storlek, prestanda och funktioner som är tillgängliga för cacheminnet. Mer information finns i Översikt över Azure Cache for Redis.
  4. Välj fliken Nätverk eller välj knappen Nätverk längst ned på sidan.

  5. På fliken Nätverk väljer du din anslutningsmetod.

  6. Välj fliken Nästa: Avancerat eller välj knappen Nästa: Avancerat längst ned på sidan för att se fliken Avancerat .

    Skärmbild som visar fliken Avancerat i arbetsfönstret och det tillgängliga alternativet att välja.

    • För Basic- eller Standard-cacheminnen växlar du markeringen för en icke-TLS-port. Du kan också välja om du vill aktivera Microsoft Entra-autentisering.
    • För en Premium-cache konfigurerar du inställningarna för icke-TLS-port, klustring, hanterad identitet och datapersistence. Du kan också välja om du vill aktivera Microsoft Entra-autentisering.
  7. Välj fliken Nästa: Taggar eller välj knappen Nästa: Taggar längst ned på sidan.

  8. Du kan också ange namn och värde på fliken Taggar om du vill kategorisera resursen.

  9. Välj Granska + skapa. Du kommer till fliken Granska + skapa där Azure verifierar din konfiguration.

  10. När det gröna verifieringsmeddelandet har skickats väljer du Skapa.

Det tar en stund innan en cache skapas. Du kan övervaka förloppet på översiktssidan för Azure Cache for Redis. När Status visas som Körs är cachen redo att användas.

Hämta värdnamn, portar och åtkomstnycklar från Azure-portalen

För att ansluta din Azure Cache for Redis-server behöver cacheklienten värdnamnet, portarna och en nyckel för cachen. Vissa klienter kan hänvisa till dessa objekt med namn som skiljer sig något. Du kan hämta värdnamnet, portarna och nycklarna från Azure-portalen.

  • Om du vill hämta åtkomstnycklarna går du till det vänstra navigeringsfönstret i cachen och väljer Åtkomstnycklar.

    Nycklar för Azure Cache for Redis

  • Om du vill hämta värdnamnet och portarna går du till det vänstra navigeringsfönstret i cachen och väljer Egenskaper. Värdnamnet är av formatet DNS name.redis.cache.windows.net>.<

    Egenskaper för Azure Cache for Redis

Lägg till miljövariabler för HOST NAME och primär åtkomstnyckel. Använd dessa variabler från koden i stället för att inkludera känslig information direkt i koden.

set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
set AZURE_CACHE_FOR_REDIS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ansluta till cachen

De senaste versionerna av node_redis har stöd för flera anslutningsalternativ. Skapa ingen ny anslutning för varje åtgärd i koden. Återanvänd istället anslutningar så mycket som möjligt.

Skapa en ny Node.js-app

  1. Skapa en ny skriptfil med namnet redistest.js.

  2. Använd kommandot för att installera ett redis-paket.

    `npm install redis`
    
  3. Lägg till följande JavaScript-exempel i filen.

    const redis = require("redis");
    
    // Environment variables for cache
    const cacheHostName = process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME;
    const cachePassword = process.env.AZURE_CACHE_FOR_REDIS_ACCESS_KEY;
    
    if(!cacheHostName) throw Error("AZURE_CACHE_FOR_REDIS_HOST_NAME is empty")
    if(!cachePassword) throw Error("AZURE_CACHE_FOR_REDIS_ACCESS_KEY is empty")
    
    async function testCache() {
    
        // Connection configuration
        const cacheConnection = redis.createClient({
            // rediss for TLS
            url: `rediss://${cacheHostName}:6380`,
            password: cachePassword
        });
    
        // Connect to Redis
        await cacheConnection.connect();
    
        // PING command
        console.log("\nCache command: PING");
        console.log("Cache response : " + await cacheConnection.ping());
    
        // GET
        console.log("\nCache command: GET Message");
        console.log("Cache response : " + await cacheConnection.get("Message"));
    
        // SET
        console.log("\nCache command: SET Message");
        console.log("Cache response : " + await cacheConnection.set("Message",
            "Hello! The cache is working from Node.js!"));
    
        // GET again
        console.log("\nCache command: GET Message");
        console.log("Cache response : " + await cacheConnection.get("Message"));
    
        // Client list, useful to see if connection list is growing...
        console.log("\nCache command: CLIENT LIST");
        console.log("Cache response : " + await cacheConnection.sendCommand(["CLIENT", "LIST"]));
    
        // Disconnect
        cacheConnection.disconnect()
    
        return "Done"
    }
    
    testCache().then((result) => console.log(result)).catch(ex => console.log(ex));
    

    Den här koden visar hur du ansluter till en Azure Cache for Redis-instans med hjälp av cache-värdnamnet och viktiga miljövariabler. Koden lagrar och hämtar även ett strängvärde i cacheminnet. Kommandona PING och CLIENT LIST körs också. Fler exempel på hur du använder Redis med node_redis-klienten finns på https://redis.js.org/.

  4. Kör skriptet med Node.js.

    node redistest.js
    
  5. Exempel på utdata.

    Cache command: PING
    Cache response : PONG
    
    Cache command: GET Message
    Cache response : Hello! The cache is working from Node.js!
    
    Cache command: SET Message
    Cache response : OK
    
    Cache command: GET Message
    Cache response : Hello! The cache is working from Node.js!
    
    Cache command: CLIENT LIST
    Cache response : id=10017364 addr=76.22.73.183:59380 fd=221 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 ow=0 owmem=0 events=r cmd=client user=default numops=6
    
    Done
    

Rensa resurser

Om du fortsätter till nästa självstudie kan du behålla de resurser som skapas i den här snabbstarten och återanvända dem. Om du är klar med snabbstartsexemplet kan du ta bort azure-resurserna som skapades i den här snabbstarten för att undvika avgifter.

Viktigt!

Det går inte att ångra borttagningen av en resursgrupp och att resursgruppen och alla resurser i den tas bort permanent. Kontrollera att du inte av misstag tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för att vara värd för det här exemplet i en befintlig resursgrupp som innehåller resurser som du vill behålla kan du ta bort varje resurs individuellt i stället för att ta bort resursgruppen.

  1. Logga in på Azure Portal och välj Resursgrupper.

  2. I textrutan Filtrera efter namn anger du namnet på resursgruppen. Anvisningarna för den här artikeln använde en resursgrupp med namnet TestResources. I resursgruppen i resultatlistan väljer du ... och sedan Ta bort resursgrupp.

    Ta bort Azure-resursgrupp

  3. Bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

  4. Efter en liten stund tas resursgruppen och resurser som finns i den bort.

Hämta exempelkoden

Hämta snabbstarten för Node.js på GitHub.

Nästa steg

I den här snabbstarten har du lärt dig att använda Azure Cache for Redis från ett Node.js-program. Fortsätta till nästa snabbstart om du vill använda Azure Cache for Redis med en ASP.NET-webbapp.