Udostępnij za pośrednictwem


Szybki start: używanie usługi Azure Managed Redis w języku Java z klientem usługi Jedis Redis

W tym szybkim przewodniku dołączysz usługę Azure Managed Redis do aplikacji Java, używając klienta Jedis Redis. Pamięć podręczna to bezpieczna, dedykowana pamięć podręczna, która jest dostępna z dowolnej aplikacji na platformie Azure.

Przejdź do kodu w usłudze GitHub

Sklonuj repozytorium Java Szybki start w witrynie GitHub.

Wymagania wstępne

Tworzenie wystąpienia usługi Redis zarządzanej platformy Azure

  1. Aby utworzyć wystąpienie usługi Azure Managed Redis, zaloguj się do witryny Azure Portal i wybierz pozycję Utwórz zasób.

  2. Na stronie Tworzenie zasobu wpisz Azure Managed Redis w polu wyszukiwania.

  3. Wybierz kafelek Azure Managed Redis i wybierz pozycję Utwórz.

  4. W okienku Tworzenie instancji Azure Managed Redis skonfiguruj ustawienia pamięci podręcznej na karcie Podstawowe.

    Ustawienia Wybierz wartość Opis
    Subskrypcja Z listy rozwijanej wybierz subskrypcję. Subskrypcja, w ramach której ma zostać utworzone to nowe wystąpienie usługi Azure Managed Redis.
    Grupa zasobów Z listy rozwijanej i wybierz grupę zasobów lub wybierz pozycję Utwórz nową i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której ma zostać utworzona pamięć podręczna i inne zasoby. Umieszczając wszystkie zasoby aplikacji w jednej grupie zasobów, można je łatwo zarządzać lub usuwać razem.
    Nazwa Wprowadź nazwę unikatową w regionie. Nazwa pamięci podręcznej musi być ciągiem z zakresu od 1 do 63 znaków w połączeniu z nazwą regionu pamięci podręcznej, która zawiera tylko cyfry, litery lub łączniki. (Jeśli nazwa pamięci podręcznej jest mniejsza niż 45 znaków, powinna działać we wszystkich aktualnie dostępnych regionach). Nazwa musi zaczynać się i kończyć cyfrą lub literą i nie może zawierać kolejnych łączników. Nazwa hosta instancji pamięci podręcznej to .
    Region Rozwiń listę rozwijaną i wybierz lokalizację. Usługa Azure Managed Redis jest dostępna w wybranych regionach świadczenia usługi Azure.
    Warstwa danych Wybierz opcję W pamięci , aby uzyskać wysoką wydajność, lub Pamięć flash w celu uzyskania mniejszej wydajności pamięci podręcznej Warstwy w pamięci obejmują Zrównoważoną, Zoptymalizowaną dla pamięci i Zoptymalizowaną dla obliczeń. Użyj warstwy Flash, do magazynowania danych w pamięci (RAM) i na dysku (SSD).
    Rozmiar pamięci podręcznej Otwórz listę rozwijaną i wybierz rozmiar. Rozmiar pamięci podręcznej zależy od warstwy. Najmniejszy rozmiar to poziom zrównoważony. Rozmiar największej warstwy w pamięci to warstwa zoptymalizowana pod kątem pamięci.
    Wydajność Z listy rozwijanej wybierz preferencję wydajności. Wydajność zależy od liczby procesorów wirtualnych. Liczba procesorów wirtualnych różni się w zależności od warstwy. Zoptymalizowane pod kątem obliczeń ma najwięcej vCPU.

    Aby uzyskać wskazówki dotyczące wybierania odpowiedniej warstwy wydajności, zobacz Wybieranie odpowiedniej warstwy.

    Ważne

    Wszystkie warstwy w pamięci korzystające z ponad 235 GB miejsca do magazynowania są dostępne w publicznej wersji zapoznawczej, w tym zoptymalizowane pod kątem pamięci M350 i nowsze; Zrównoważony B350 i wyższy; i zoptymalizowane pod kątem obliczeń X350 i nowsze. Wszystkie te warstwy i wyższe są dostępne w publicznej wersji zapoznawczej.

    Wszystkie warstwy zoptymalizowane pod kątem technologii Flash są w publicznej wersji zapoznawczej.

  5. Wybierz pozycję Dalej: Sieć i wybierz opcję Wyłącz dostęp publiczny i użyj dostępu prywatnego lub Włącz dostęp publiczny ze wszystkich sieci.

  6. Wybierz pozycję Dalej: Aktywna replikacja geograficzna. Aby można było używać aktywnej replikacji geograficznej, należy ją włączyć podczas aprowizacji. Pamięci podręczne bez aktywnej replikacji geograficznej nie mogą być później dodawane ani dołączać do aktywnych grup replikacji geograficznej. ** Aby uzyskać więcej informacji, zobacz Konfigurowanie aktywnej replikacji geograficznej dla wystąpień Azure Managed Redis.

  7. Wybierz kartę Dalej: Zaawansowane .

    Skonfiguruj moduły Redis, które chcesz dodać do instancji.

    Ustaw zasady klastrowania:

    • Użyj rozwiązania Enterprise , aby użyć usługi RedisSearch lub innych modułów
    • Użyj OSS dla klastrowanej pamięci podręcznej.
    • Użyj Nieklasterowana (wersja zapoznawcza) dla nieklasterowanej pamięci podręcznej.

    Aby uzyskać więcej informacji na temat wybierania zasad klastrowania, zobacz Zasady klastra.

    Domyślnie dla nowej zarządzanej pamięci podręcznej:

    • Microsoft Entra ID jest włączony.
    • Uwierzytelnianie kluczy dostępu jest wyłączone ze względów bezpieczeństwa.

    Ważne

    Nie można zmieniać modułów po utworzeniu instancji cache'u. Moduły muszą być włączone w momencie tworzenia wystąpienia usługi Azure Managed Redis. Nie ma możliwości włączenia konfiguracji modułu po utworzeniu pamięci podręcznej.

    Ważne

    W celu uzyskania optymalnego bezpieczeństwa zalecamy użycie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem pamięci podręcznej, jeśli to możliwe. Autoryzacja za pomocą Microsoft Entra ID i tożsamości zarządzanych zapewnia lepsze zabezpieczenia i łatwość użytkowania w porównaniu z autoryzacją za pomocą współdzielonego klucza dostępu. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych z pamięcią podręczną, zobacz Użyj Microsoft Entra ID do uwierzytelniania pamięci podręcznej.

    Ważne

    Nie można zmienić zasad klastrowania wystąpienia usługi Azure Managed Redis po jego utworzeniu. Jeśli używasz narzędzia RediSearch, wymagana jest zasada klastra przedsiębiorstwa, a NoEviction jest jedyną obsługiwaną zasadą eksmisji.

    Ważne

    Jeśli używasz tego wystąpienia pamięci podręcznej w grupie replikacji geograficznej, nie można zmienić zasad eksmisji po utworzeniu wystąpienia. Pamiętaj, aby przed utworzeniem pamięci podręcznej znać zasady eksmisji węzłów podstawowych. Aby uzyskać więcej informacji na temat aktywnej replikacji geograficznej, zobacz Wymagania wstępne aktywnej replikacji geograficznej.

  8. Wybierz pozycję Dalej: Tagi i pomiń.

  9. Wybierz Dalej: Przejrzyj i utwórz.

  10. Przejrzyj ustawienia i wybierz pozycję Utwórz.

    Utworzenie instancji Redis zajmuje kilka minut. Postęp można monitorować na stronie Omówienie usługi Azure Managed Redis. Gdy stan jest wyświetlany jako Uruchomiono, pamięć podręczna jest gotowa do użycia.

Konfigurowanie środowiska roboczego

W poniższych krokach pokazano, jak skonfigurować środowisko robocze dla aplikacji Java.

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

Zastąp symbole zastępcze następującymi wartościami:

  • <your-host-name>: nazwa hosta DNS. Aby uzyskać nazwę hosta i porty pamięci podręcznej, wybierz pozycję Przegląd w menu Zasób . Nazwa hosta ma postać <DNS name>.redis.cache.windows.net.

    Zrzut ekranu przedstawiający właściwości usługi Azure Cache for Redis.

  • <your-client-id>: ID aplikacji (klienta) w rejestracji aplikacji Azure AD.

  • <your-client-secret>: tajny klucz klienta dla rejestracji aplikacji Azure AD.

  • <your-tenant-id>: Identyfikator dzierżawy usługi Azure Active Directory.

    Uwaga / Notatka

    W powyższym przykładzie użyto uwierzytelnienia tajnego klucza klienta. Możesz również skonfigurować bibliotekę redis-authx-entraid tak, aby korzystała z innych metod uwierzytelniania, takich jak tożsamość zarządzana lub certyfikat klienta, modyfikując konfigurację EntraIDTokenAuthConfigBuilder w kodzie.

Tworzenie nowej aplikacji Java

  1. Użyj narzędzia maven, aby wygenerować nową aplikację Szybki start:

    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. Przejdź do nowego katalogu projektowego redis-jedis-test.

  3. Otwórz plik pom.xml. W pliku widać zależność dla Jedis:

    Uwaga / Notatka

    Firma Microsoft zawarła współpracę z Firmą Redis, Inc. W ramach tej współpracy obsługa uwierzytelniania identyfikatora Entra firmy Microsoft została przeniesiona z zestawu Azure SDK do rozszerzeń identyfikatorów Entra usługi Redis. Nowa redis-authx-entraid biblioteka zapewnia rozszerzone możliwości uwierzytelniania i jest zalecanym podejściem do uwierzytelniania identyfikatora Entra firmy Microsoft za pomocą usługi 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>
    
  4. Zamknij plik pom.xml.

  5. Otwórz App.java i zobacz kod z następującym kodem:

    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();
        }
    }
    

    Ten kod pokazuje, jak nawiązać połączenie z wystąpieniem usługi Azure Managed Redis przy użyciu nazwy hosta pamięci podręcznej i kluczowych zmiennych środowiskowych. Kod przechowuje i pobiera z pamięci podręcznej wartość tekstową. Polecenia PING są również wykonywane.

  6. Zamknij plik App.java.

Kompilowanie i uruchamianie aplikacji

Wykonaj następujące polecenie narzędzia Maven, aby skompilować i uruchomić aplikację:

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

Na poniższym wyjściu widać, że klucz Message miał wcześniej buforowaną wartość. Wartość została zaktualizowana do nowej wartości przy użyciu polecenia jedis.set. Aplikacja również wykonała polecenia 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!

Uprzątnij zasoby

Jeśli planujesz kontynuować korzystanie z następnego samouczka, możesz zachować zasoby utworzone w tym przewodniku Szybki start i użyć ich ponownie.

W przeciwnym razie, jeśli skończysz z przykładową aplikacją Szybkiego startu, możesz usunąć zasoby platformy Azure utworzone w tym przewodniku Szybki start, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne i grupa zasobów oraz wszystkie zawarte w niej zasoby zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub grupy zasobów. Jeśli utworzono zasoby do hostowania tego przykładu wewnątrz istniejącej grupy zasobów zawierającej zasoby, które chcesz zachować, możesz usunąć każdy zasób indywidualnie zamiast usuwać grupę zasobów.

  1. Zaloguj się do portalu Azure i wybierz Grupy zasobów.

  2. W polu tekstowym Filtruj według nazwy wpisz nazwę grupy zasobów. Instrukcje dla tego artykułu używały grupy zasobów o nazwie TestResources. Na liście wyników w grupie zasobów wybierz pozycję Testuj zasoby, a następnie usuń grupę zasobów.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Grupa zasobów z wyróżnionym przyciskiem Usuń grupę zasobów.

  3. Wpisz nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.

Po krótkim czasie grupa zasobów i wszystkie zawarte w niej zasoby zostaną usunięte.

Dalsze kroki

W tym przewodniku Szybki start przedstawiono sposób używania usługi Azure Managed Redis z poziomu aplikacji Java.