Delen via


Quickstart: Azure Cache voor Redis gebruiken in Java met Jedis Redis-client

In deze quickstart neemt u Azure Cache voor Redis op in een Java-app met behulp van de Jedis Redis-client. Uw cache is een beveiligde, toegewezen cache die toegankelijk is vanuit elke toepassing in Azure.

Ga naar de code op GitHub

Kloon de Java-quickstart voor de opslagplaats op GitHub.

Vereisten

Een Azure Cache voor Redis-instantie maken

  1. Meld u aan bij Azure Portal om een cache te maken. Selecteer een resource maken in het portalmenu.

    Sceenshot met de optie Een resource maken gemarkeerd in het linkernavigatiedeelvenster in Azure Portal.

  2. Voer in het deelvenster Aan de slag Azure Cache voor Redis in de zoekbalk in. Zoek Azure Cache voor Redis in de zoekresultaten en selecteer Vervolgens Maken.

    Schermopname van Azure Marketplace met Azure Cache voor Redis in het zoekvak en de knop Maken is gemarkeerd.

  3. Configureer in het deelvenster Nieuwe Redis Cache op het tabblad Basis de volgende instellingen voor uw cache:

    Instelling Actie Beschrijving
    Abonnement Selecteer uw Azure-abonnement. Het abonnement dat moet worden gebruikt om het nieuwe exemplaar van Azure Cache voor Redis te maken.
    Resourcegroep Selecteer een resourcegroep of selecteer Nieuwe maken en voer een nieuwe resourcegroepnaam in. Een naam voor de resourcegroep waarin u uw cache en andere resources wilt maken. 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 van 1 tot 63 tekens zijn die alleen cijfers, letters en afbreekstreepjes bevat. De naam moet beginnen en eindigen met een getal of letter en mag geen opeenvolgende afbreekstreepjes bevatten. De hostnaam van uw cache-exemplaar is\<DNS name>.redis.cache.windows.net.
    Location Selecteer een locatie. Een Azure-regio in de buurt van andere services die gebruikmaken van uw cache.
    Cache-SKU Selecteer een SKU. De SKU bepaalt de grootte, prestaties en functieparameters die beschikbaar zijn voor de cache. Zie Azure Cache voor Redis overzicht voor meer informatie.
    Cachegrootte Selecteer een cachegrootte. Zie Azure Cache voor Redis overzicht voor meer informatie.
  4. Selecteer het tabblad Netwerken of selecteer Volgende: Netwerken.

  5. Selecteer op het tabblad Netwerken een connectiviteitsmethode die u voor de cache wilt gebruiken.

  6. Selecteer het tabblad Geavanceerd of selecteer Volgende: Geavanceerd.

  7. Controleer of selecteer in het deelvenster Geavanceerd een verificatiemethode op basis van de volgende informatie:

    Schermopname van het deelvenster Geavanceerd en de beschikbare opties die u kunt selecteren.

    • Microsoft Entra Authentication is standaard ingeschakeld voor een nieuwe Basic-, Standard- of Premium-cache en toegangssleutelsverificatie is uitgeschakeld.
    • Voor Basic- of Standard-caches kunt u de selectie voor een niet-TLS-poort kiezen.
    • Voor Standard- en Premium-caches kunt u ervoor kiezen om beschikbaarheidszones in te schakelen. U kunt beschikbaarheidszones niet uitschakelen nadat de cache is gemaakt.
    • Voor een Premium-cache configureert u de instellingen voor niet-TLS-poort, clustering, beheerde identiteit en gegevenspersistentie.

    Belangrijk

    Voor optimale beveiliging wordt u aangeraden Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen tegen uw cache te autoriseren, indien mogelijk. Autorisatie met behulp van Microsoft Entra ID en beheerde identiteiten biedt superieure beveiliging en gebruiksgemak ten opzichte van autorisatie van gedeelde toegangssleutels. Zie Microsoft Entra ID gebruiken voor cacheverificatie voor meer informatie over het gebruik van beheerde identiteiten met uw cache.

  8. (Optioneel) Selecteer het tabblad Tags of selecteer Volgende: Tags.

  9. (Optioneel) Voer op het tabblad Tags een tagnaam en -waarde in als u de cacheresource wilt categoriseren.

  10. Selecteer de knop Controleren en maken.

    Op het tabblad Controleren en maken valideert Azure uw configuratie automatisch.

  11. Nadat het groene bericht Validatie is geslaagd , selecteert u Maken.

Een nieuwe cache-implementatie vindt meer dan enkele minuten plaats. U kunt de voortgang van de implementatie controleren in het deelvenster Azure Cache voor Redis Overzicht. Wanneer de status Wordt uitgevoerd, is de cache gereed voor gebruik.

De werkomgeving instellen

In de volgende stappen ziet u hoe u de werkomgeving voor de Java-app instelt. U kunt ervoor kiezen om te verifiëren met Azure Cache voor Redis met behulp van Microsoft Entra ID (aanbevolen) of toegangssleutels.

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

Vervang de plaatsaanduidingen door de volgende waarden:

  • <your-host-name>: de DNS-hostnaam. Als u de hostnaam en poorten voor uw cache wilt ophalen, selecteert u Overzicht in het menu Resource. De hostnaam is van het formulier <DNS name>.redis.cache.windows.net.

    Schermopname van Azure Cache voor Redis eigenschappen.

  • <user-name>: Object-id van uw beheerde identiteit of service-principal.

    U kunt de gebruikersnaam ophalen met behulp van de volgende stappen:

    1. Navigeer in Azure Portal naar uw Azure Cache voor Redis-exemplaar.

    2. Selecteer Data Access Configuration in het navigatiedeelvenster.

    3. Zoek op het tabblad Redis-gebruikers de kolom Gebruikersnaam .

      Schermopname van Azure Portal met de pagina Azure Cache voor Redis Data Access-configuratie met het tabblad Redis-gebruikers en een waarde voor gebruikersnaam gemarkeerd.

Een nieuwe Java-app maken

  1. Maven gebruiken om een nieuwe quickstart-app te genereren:

    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. Ga naar de nieuwe projectmap redis-jedis-test .

  3. Open het bestand pom.xml . In het bestand ziet u een afhankelijkheid voor Jedis:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.11.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
    </dependency>
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>5.1.0</version>  <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
    </dependency>
    
  4. Sluit het pom.xml bestand.

  5. Open App.java en bekijk de code met de volgende code:

    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");
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, 6380, 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();
        }
    }
    

    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.

  6. Sluit het App.java-bestand .

Ontwikkel de app en voer deze uit

Voer de volgende Maven-opdracht uit om de app te bouwen en uit te voeren:

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

In de volgende uitvoer ziet u dat de sleutel eerder een waarde in de Message cache had. De waarde is bijgewerkt naar een nieuwe waarde met behulp van jedis.set. De app heeft ook de opdrachten PING en CLIENT LIST uitgevoerd.

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

Resources opschonen

Als u van plan bent om door te gaan met de volgende zelfstudie, kunt u de resources die in deze quickstart zijn gemaakt, behouden en opnieuw gebruiken.

Als u klaar bent met de quickstart-voorbeeldtoepassing, kunt u de Azure-resources die in deze quickstart zijn gemaakt, verwijderen 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 hebt gemaakt voor het hosten van dit voorbeeld in een bestaande resourcegroep die resources bevat die u wilt behouden, kunt u elke resource afzonderlijk verwijderen in plaats van de resourcegroep te verwijderen.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.

  2. Typ de naam van de resourcegroep in het tekstvak Filteren op naam. In de instructies voor dit artikel is een resourcegroep met de naam TestResourcesgebruikt. Selecteer In de resourcegroep in de lijst met resultaten testresources en vervolgens Resourcegroep verwijderen.

    Schermopname van Azure Portal met de pagina Resourcegroep met de knop Resourcegroep verwijderen gemarkeerd.

  3. Typ de naam van de resourcegroep om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.

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

Volgende stappen

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