Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten införlivar du Azure Managed 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 lagret Java-snabbstart på GitHub.
Förutsättningar
- Azure-prenumeration – skapa en kostnadsfritt
- Apache Maven
Skapa en Azure Managed Redis-instans
Om du vill skapa en Azure Managed Redis-instans loggar du in på Azure-portalen och väljer Skapa en resurs.
På sidan Skapa en resurs skriver du Azure Managed Redis i sökrutan.
Välj Azure Managed Redis-rutan och välj Skapa.
I fönstret Skapa Azure Managed Redis-instans konfigurerar du inställningarna för en ny cache på fliken Grundläggande .
Inställning Välj ett värde Beskrivning Prenumeration Öppna rullgardinsmenyn 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. 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.Region Öppna rullgardinsmenyn och välj en plats. Azure Managed Redis är tillgängligt i valda Azure-regioner. Datanivå Välj antingen Minnesinternt för högpresterande eller Flash för cacheminnen med lägre prestanda Nivåerna minnesintern är Balanced, Memory Optimized och Compute Optimized. Använd Flash-nivån för minnesintern (RAM) och datalagring på disk (SSD). Cachestorlek Öppna listrutan och välj en storlek. Cache-storleken beror på nivån. Den minsta storleken är en balanserad nivå. Den största minnesinterna nivån är en minnesoptimerad nivå. Föreställning Öppna menyn och välj en prestandaföreträde. Prestanda beror på antalet virtuella processorer. Antalet vCPU:er varierar med nivån. Beräkningsoptimerad har flest vCPU:er. Information om hur du väljer rätt prestandanivå finns i Välja rätt nivå.
Viktigt!
Alla minnesinterna nivåer som använder över 350 GB lagringsutrymme finns i offentlig förhandsversion, inklusive minnesoptimerad M500 och senare. Balanserad B500 och högre; och Compute Optimized X500 och senare. Alla dessa nivåer och högre finns i offentlig förhandsversion.
Alla Flash-optimerade nivåer finns i offentlig förhandsversion.
Välj Nästa: Nätverk och välj antingen Inaktivera offentlig åtkomst och använd privat åtkomst eller Aktivera offentlig åtkomst från alla nätverk.
Välj Nästa: Aktiv geo-replikering. Om du vill använda aktiv geo-replikering måste den vara aktiverad under etableringen. Cacheminnen utan aktiv geo-replikering kan inte läggas till eller gå med i aktiva geo-replikeringsgrupper senare. Mer information finns i Konfigurera aktiv geo-replikering för Azure Managed Redis-instanser.
Välj fliken Nästa: Avancerat .
Konfigurera alla Redis-moduler som du vill lägga till i instansen.
Ange klustringsprincip:
- Använda Enterprise för att använda RedisSearch eller andra moduler
- Använd OSS för en klustrad cache.
- Använd Icke-klustrad (Förhandsversion) för en icke-klustrad cache.
Mer information om hur du väljer klustringsprincip finns i Klusterprincip.
Som standard för en ny hanterad cache:
- Microsoft Entra-ID är aktiverat.
- Autentisering av åtkomstnycklar är inaktiverat av säkerhetsskäl.
Viktigt!
Du kan inte ändra moduler när du har skapat en cacheinstans. Moduler måste aktiveras när du skapar en Azure Managed Redis-instans. Det finns inget alternativ för att aktivera konfigurationen av en modul när du har skapat en cache.
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.
Viktigt!
Du kan inte ändra klustringsprincipen för en Azure Managed Redis-instans 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.
Välj Nästa: Taggar och hoppa över.
Välj Nästa: Granska + skapa.
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.
Konfigurera arbetsmiljön
Följande steg visar hur du konfigurerar arbetsmiljön för Java-appen.
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export REDIS_CACHE_PORT=10000
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 Översikt på resursmenyn . Värdnamnet är på formen<DNS name>.redis.cache.windows.net.
<your-client-id>: Program-ID:t (klient) för din Azure AD-programregistrering.<your-client-secret>: Klienthemligheten för din Azure AD-programregistrering.<your-tenant-id>: Ditt Klient-ID för Azure Active Directory.Anmärkning
Exemplet ovan använder klienthemlighetsautentisering. Du kan också konfigurera biblioteket så att det
redis-authx-entraidanvänder andra autentiseringsmetoder, till exempel hanterad identitet eller klientcertifikat genom att ändra konfigurationenEntraIDTokenAuthConfigBuilderi koden.
Skapa en ny Java-app
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.0Byt till den nya projektkatalogen redis-jedis-test.
Öppna filen pom.xml . I filen ser du ett beroende för Jedis:
Anmärkning
Microsoft har ingått ett partnerskap med Redis, Inc. Som en del av det här samarbetet har Microsoft Entra ID-autentiseringsstöd flyttats från Azure SDK till Redis Entra ID-tillägg. Det nya
redis-authx-entraidbiblioteket ger förbättrade autentiseringsfunktioner och är den rekommenderade metoden för Microsoft Entra ID-autentisering med Azure Managed Redis.<dependency> <groupId>redis.clients.authentication</groupId> <artifactId>redis-authx-entraid</artifactId> <version>0.1.1-beta2</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>6.0.0</version> </dependency>Stäng filen pom.xml .
Öppna App.java och se koden med följande kod:
package example.demo; import com.azure.identity.DefaultAzureCredentialBuilder; import redis.clients.authentication.core.TokenAuthConfig; import redis.clients.authentication.entraid.AzureTokenAuthConfigBuilder; import redis.clients.jedis.DefaultJedisClientConfig; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.UnifiedJedis; import redis.clients.jedis.authentication.AuthXManager; import java.util.Set; /** * Redis test with Microsoft Entra ID authentication using redis-authx-entraid * For more information about Redis authentication extensions, see: * https://redis.io/docs/latest/develop/clients/jedis/amr/ * */ public class App { public static void main( String[] args ) { String REDIS_CACHE_HOSTNAME = System.getenv("REDIS_CACHE_HOSTNAME"); int REDIS_PORT = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "10000")); String SCOPES = "https://redis.azure.com/.default"; // The scope for Azure Managed Redis // Build TokenAuthConfig for Microsoft Entra ID authentication TokenAuthConfig tokenAuthConfig = AzureTokenAuthConfigBuilder.builder() .defaultAzureCredential(new DefaultAzureCredentialBuilder().build()) .scopes(Set.of(SCOPES)) .tokenRequestExecTimeoutInMs(2000) .build(); DefaultJedisClientConfig config = DefaultJedisClientConfig.builder() .authXManager(new AuthXManager(tokenAuthConfig)) .ssl(true) .build(); UnifiedJedis jedis = new UnifiedJedis( new HostAndPort(REDIS_CACHE_HOSTNAME, REDIS_PORT), config); // Test the connection System.out.println(String.format("Database size is %d", jedis.dbSize())); // 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")); jedis.close(); } }
Den här koden visar hur du ansluter till en Azure Managed Redis-instans med hjälp av cachens värdnamn och viktiga miljövariabler. Koden lagrar och hämtar även ett strängvärde i cacheminnet. Kommandona
PINGkörs också.Stäng filen App.java .
Skapa 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 .
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!
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.
Logga in på Azure Portal och välj Resursgrupper.
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.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 hur du använder Azure Managed Redis från ett Java-program.