Dela via


Snabbstart: Använda Azure Cache for Redis i Java med Jedis Redis-klienten

I den här snabbstarten införlivar du Azure Cache for Redis i en Java-app med Jedis Redis-klienten. Din cache är en säker, dedikerad cache som är tillgänglig från alla program i Azure.

Hoppa till koden på GitHub

Klona lagringsplatsens Java-snabbstart på GitHub.

Förutsättningar

Skapa en Azure Managed Redis-instans (förhandsversion)

  1. Om du vill skapa en Azure Managed Redis-instans (förhandsversion) loggar du in på Azure Portal och väljer Skapa en resurs.

  2. På sidan Nytt skriver du Azure Cache for Redis i sökrutan.

  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. Den prenumeration som den nya Azure Managed 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 namn som är unikt i regionen. Cachenamnet måste vara en sträng mellan 1 och 63 tecken när det kombineras med cachens regionnamn som endast innehåller siffror, bokstäver eller bindestreck. (Om cachenamnet är mindre än 45 tecken bör det fungera i alla tillgängliga regioner.) 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 name\>.\<Azure region\>.redis.azure.net.
    Plats Listrutan och välj en plats. Azure Managed Redis är tillgängligt i valda Azure-regioner.
    Cachetyp Listrutan och välj prestandanivå och cachestorlek. Nivån avgör prestanda för Redis-instansen, medan cachestorleken avgör vilket minne som är tillgängligt för lagring av data. Information om hur du väljer rätt prestandanivå finns i Välja rätt nivå

    Skärmbild som visar fliken Azure Managed Redis Basics.

  4. Välj Nästa: Nätverk och välj antingen en offentlig eller privat slutpunkt.

  5. Välj Nästa: Avancerat.

    Konfigurera alla Redis-moduler som du vill lägga till i instansen.

    Som standard för en ny hanterad cache:

    • Microsoft Entra-ID är aktiverat.
    • Autentisering av åtkomstnycklar är inaktiverat av säkerhetsskäl.

    Viktigt!

    För optimal säkerhet rekommenderar vi att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot din cache om möjligt. Auktorisering med hjälp av Microsoft Entra-ID och hanterade identiteter ger överlägsen säkerhet och användarvänlighet för auktorisering av delad åtkomstnyckel. Mer information om hur du använder hanterade identiteter med din cache finns i Använda Microsoft Entra-ID för cacheautentisering.

    Ange Klustringsprincip till Företag för en icke-grupperad cache eller till OSS för en klustrad cache. Mer information om hur du väljer klustringsprincip finns i Klusterprincip.

    Skärmbild som visar fliken Azure Managed Redis Avancerat.

    Om du använder aktiv geo-replikering måste den konfigureras när den skapas. Mer information finns i Konfigurera aktiv geo-replikering för Azure Managed Redis-instanser.

    Viktigt!

    Du kan inte ändra klustringsprincipen för en Azure Managed Redis-instans (förhandsversion) när du har skapat den. Om du använder RediSearch krävs enterprise-klusterprincipen och NoEviction är den enda borttagningsprincipen som stöds.

    Viktigt!

    Om du använder den här cacheinstansen i en geo-replikeringsgrupp kan borttagningsprinciper inte ändras när instansen har skapats. Se till att känna till borttagningsprinciperna för dina primära noder innan du skapar cacheminnet. Mer information om aktiv geo-replikering finns i Krav för aktiv geo-replikering.

    Viktigt!

    Du kan inte ändra moduler när du har skapat en cacheinstans. Moduler måste aktiveras när du skapar en Azure Cache for Redis-instans. Det finns inget alternativ för att aktivera konfigurationen av en modul när du har skapat en cache.

  6. Välj Nästa: Taggar och hoppa över.

  7. Välj Nästa: Granska + skapa.

  8. Granska inställningarna och välj Skapa.

    Det tar flera minuter för Redis-instansen att skapa. Du kan övervaka förloppet på översiktssidan för Azure Managed Redis. När Status visas som Körs är cachen redo att användas.

Skapa en Azure Cache for Redis-instans

  1. Om du vill skapa en cache loggar du in på Azure Portal. På portalmenyn väljer du Skapa en resurs.

    Sceenshot som visar alternativet Skapa en resurs markerad i det vänstra navigeringsfönstret i Azure Portal.

  2. I fönstret Kom igång anger du Azure Cache for Redis i sökfältet. I sökresultaten letar du upp Azure Cache for Redis och väljer sedan Skapa.

    Skärmbild som visar Azure Marketplace med Azure Cache for Redis i sökrutan och knappen Skapa är markerad.

  3. I fönstret Ny Redis Cachefliken Grundläggande konfigurerar du följande inställningar för din cache:

    Inställning Åtgärd beskrivning
    Abonnemang Välj din Azure-prenumerationen. Prenumerationen som ska användas för att skapa den nya instansen av Azure Cache for Redis.
    Resursgrupp Välj en resursgrupp eller välj Skapa ny och ange ett nytt resursgruppsnamn. Ett namn på resursgruppen där du kan skapa cacheminnet och andra resurser. 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 på 1 till 63 tecken som endast innehåller siffror, bokstäver och bindestreck. Namnet måste börja och sluta med ett tal eller en bokstav, och det får inte innehålla bindestreck i följd. Värdnamnet för cacheinstansen är \<DNS name>.redis.cache.windows.net.
    Plats Välj en plats. En Azure-region som ligger nära andra tjänster som använder din cache.
    Cache-SKU Välj en SKU. SKU:n avgör vilka storleks-, prestanda- och funktionsparametrar som är tillgängliga för cachen. Mer information finns i Översikt över Azure Cache for Redis.
    Cachestorlek Välj en cachestorlek. Mer information finns i Översikt över Azure Cache for Redis.
  4. Välj fliken Nätverk eller välj Nästa: Nätverk.

  5. På fliken Nätverk väljer du en anslutningsmetod som ska användas för cacheminnet.

  6. Välj fliken Avancerat eller välj Nästa: Avancerat.

  7. I fönstret Avancerat kontrollerar eller väljer du en autentiseringsmetod baserat på följande information:

    Skärmbild som visar fönstret Avancerat och tillgängliga alternativ att välja.

    • Som standard aktiveras Microsoft Entra-autentisering för en ny Basic-, Standard- eller Premium-cache och åtkomstnycklarnas autentisering inaktiveras.
    • För Basic- eller Standard-cacheminnen kan du välja valet för en icke-TLS-port.
    • För Standard- och Premium-cacheminnen kan du välja att aktivera tillgänglighetszoner. Du kan inte inaktivera tillgänglighetszoner när cacheminnet har skapats.
    • För en Premium-cache konfigurerar du inställningarna för icke-TLS-port, klustring, hanterad identitet och datapersistence.

    Viktigt!

    För optimal säkerhet rekommenderar vi att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot din cache om möjligt. Auktorisering med hjälp av Microsoft Entra-ID och hanterade identiteter ger överlägsen säkerhet och användarvänlighet för auktorisering av delad åtkomstnyckel. Mer information om hur du använder hanterade identiteter med din cache finns i Använda Microsoft Entra-ID för cacheautentisering.

  8. (Valfritt) Välj fliken Taggar eller välj Nästa: Taggar.

  9. (Valfritt) På fliken Taggar anger du ett taggnamn och värde om du vill kategorisera cacheresursen.

  10. Välj knappen Granska + skapa.

    På fliken Granska + skapa verifierar Azure automatiskt din konfiguration.

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

En ny cachedistribution sker under flera minuter. Du kan övervaka förloppet för distributionen i översiktsfönstret Azure Cache for Redis. När Status visar Körs är cachen redo att användas.

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

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 Portal.

  • Om du vill hämta värdnamnet och portarna för cacheminnet väljer du Översiktresursmenyn . Värdnamnet är av formuläret <DNS name>.redis.cache.windows.net.

    Skärmbild som visar Azure Cache for Redis-egenskaper.

  • Om du vill hämta åtkomstnycklarna väljer du Autentiseringresursmenyn . Välj sedan fliken Åtkomstnycklar .

    Skärmbild som visar Åtkomstnycklar för Azure Cache for Redis.

Konfigurera arbetsmiljön

Följande steg visar hur du konfigurerar arbetsmiljön för Java-appen. Du kan välja att autentisera med Azure Cache for Redis med hjälp av Microsoft Entra-ID (rekommenderas) eller åtkomstnycklar.

export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=10000
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=6380

Ersätt platshållarna med följande värden:

  • <your-host-name>: DNS-värdnamnet. Om du vill hämta värdnamnet och portarna för cacheminnet väljer du Översiktresursmenyn . Värdnamnet är av formuläret <DNS name>.redis.cache.windows.net.

    Skärmbild som visar Azure Cache for Redis-egenskaper.

  • <user-name>: Objekt-ID för din hanterade identitet eller tjänstens huvudnamn.

    Du kan hämta användarnamnet med hjälp av följande steg:

    1. I Azure Portal navigerar du till din Azure Cache for Redis-instans.

    2. I navigeringsfönstret väljer du Konfiguration av dataåtkomst.

    3. På fliken Redis-användare letar du reda på kolumnen Användarnamn .

      Skärmbild av Azure Portal som visar sidan Azure Cache for Redis Data Access Configuration med fliken Redis-användare och ett användarnamn markerat.

Skapa en ny Java-app

  1. Använd maven för att generera en ny snabbstartsapp:

    mvn archetype:generate \
        -DarchetypeGroupId=org.apache.maven.archetypes \
        -DarchetypeArtifactId=maven-archetype-quickstart \
        -DarchetypeVersion=1.3 \
        -DinteractiveMode=false \
        -DgroupId=example.demo \
        -DartifactId=redis-jedis-test \
        -Dversion=1.0
    
  2. Ändra till den nya projektkatalogen redis-jedis-test .

  3. Öppna filen pom.xml . I filen ser du ett beroende för Jedis:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.15.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
    </dependency>
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>5.2.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
    </dependency>
    
  4. Stäng filen pom.xml .

  5. Öppna App.java och se koden med följande kod:

    package example.demo;
    
    import com.azure.identity.DefaultAzureCredential;
    import com.azure.identity.DefaultAzureCredentialBuilder;
    import com.azure.core.credential.TokenRequestContext;
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.Jedis;
    
    /**
     * Redis test
     *
     */
    public class App
    {
        public static void main( String[] args )
        {
    
            boolean useSsl = true;
    
            //Construct a Token Credential from Identity library, e.g. DefaultAzureCredential / ClientSecretCredential / Client CertificateCredential / ManagedIdentityCredential etc.
            DefaultAzureCredential defaultAzureCredential = new DefaultAzureCredentialBuilder().build();
    
            // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
                    String token = defaultAzureCredential
                            .getToken(new TokenRequestContext()
                                    .addScopes("https://redis.azure.com/.default")).block().getToken();
    
            String cacheHostname = System.getenv("REDIS_CACHE_HOSTNAME");
            String username = System.getenv("USER_NAME");
            int port = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "6380"));
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, port, DefaultJedisClientConfig.builder()
                    .password(token) // Microsoft Entra access token as password is required.
                    .user(username) // Username is Required
                    .ssl(useSsl) // SSL Connection is Required
                    .build());
            // Perform cache operations using the cache connection object...
    
            // Simple PING command
            System.out.println( "\nCache Command  : Ping" );
            System.out.println( "Cache Response : " + jedis.ping());
    
            // Simple get and put of integral data types into the cache
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            System.out.println( "\nCache Command  : SET Message" );
            System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!"));
    
            // Demonstrate "SET Message" executed as expected...
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            // Get the client list, useful to see if connection list is growing...
            System.out.println( "\nCache Command  : CLIENT LIST" );
            System.out.println( "Cache Response : " + jedis.clientList());
    
            jedis.close();
        }
    }
    

    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å.

  6. Stäng filen App.java .

Kompilera och köra appen

Skapa och kör appen genom att köra följande Maven-kommando:

mvn compile exec:java -D exec.mainClass=example.demo.App

I följande utdata kan du se att Message nyckeln tidigare hade ett cachelagrat värde. Värdet uppdaterades till ett nytt värde med hjälp av jedis.set. Appen körde även kommandona PING och CLIENT LIST.

Cache Command  : Ping
Cache Response : PONG

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : SET Message
Cache Response : OK

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : CLIENT LIST
Cache Response : id=777430 addr=             :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6

Rensa resurser

Om du planerar att fortsätta med nästa självstudie kan du behålla de resurser som skapats 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 skriver 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 Testa resurser och sedan Ta bort resursgrupp.

    Skärmbild av Azure Portal som visar sidan Resursgrupp med knappen Ta bort resursgrupp markerad.

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

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

Nästa steg

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