Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве показано, как интегрировать управляемый Redis Azure в приложение Java с помощью клиента Jedis Redis. Ваш кэш выделен специально для вас, он безопасен и доступен из любого приложения в Azure.
Переход к коду на GitHub
Клонируйте репозиторий Краткое руководство для Java на GitHub.
Предпосылки
- Подписка Azure — создайте бесплатную учетную запись.
- Apache Maven
Создайте управляемый экземпляр Redis в Azure
Чтобы создать экземпляр Azure Managed Redis, войдите на портал Azure и выберите "Создать ресурс".
На странице "Создание ресурса" введите Azure Managed Redis в поле поиска.
Выберите плитку Azure Managed Redis и нажмите кнопку "Создать".
На панели создания экземпляра управляемого Redis на Azure настройте параметры нового кэша на вкладке Основные.
Настройки Выберите значение Описание Подписка Раскройте список и выберите нужную подписку. Подписка, в которой создается новый экземпляр Управляемого Redis Azure. Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе. Имя Введите уникальное в пределах региона имя. Имя кэша должно быть строкой от 1 до 63 символов при сочетании с именем региона кэша, содержащим только цифры, буквы или дефисы. (Если имя кэша меньше 45 символов, оно должно работать во всех доступных регионах.) Имя должно начинаться и заканчиваться числом или буквой и не может содержать последовательные дефисы. Имя хоста вашего экземпляра кэша — \<DNS name\>.\<Azure region\>.redis.azure.net.Регион Раскройте список и выберите место. Управляемый Redis Azure доступен в выбранных регионах Azure. Уровень данных Выберите в памяти для высокой производительности или Flash для более низких производительности кэшей Уровни в памяти включают Balanced, Memory Optimized и Compute Optimized. Используйте уровень Flash для работы с данными в памяти (ОЗУ) и на твердотельном накопителе (SSD). Размер кэша Выпадающее меню и выбор размера. Размер кэша зависит от уровня. Наименьший размер — это сбалансированный уровень. Самый большой уровень в памяти — это оптимизированный для памяти уровень. Производительность Разверните список и выберите предпочтение производительности. Производительность зависит от количества виртуальных ЦП. Количество виртуальных ЦП зависит от уровня. Оптимизированный для вычислений имеет наибольшее количество виртуальных ЦП. Рекомендации по выбору нужного уровня производительности см. в разделе "Выбор нужного уровня".
Это важно
Все уровни памяти, использующие более 350 ГБ хранилища, находятся в общедоступной предварительной версии, включая оптимизированные для памяти M500 и выше; сбалансированные B500 и выше; и вычислительно оптимизированные X500 и выше. Все эти уровни и выше находятся в общедоступной предварительной версии.
Все уровни, оптимизированные для флэш-памяти, находятся в общедоступном предварительном доступе.
Нажмите кнопку "Далее" и выберите "Отключить общедоступный доступ" и использовать частный доступ иливключить общедоступный доступ из всех сетей.
Нажмите кнопку "Далее": активная георепликация. Чтобы использовать активную георепликацию, ее необходимо включить во время подготовки. Кэши без активной георепликации нельзя впоследствии добавлять в группы активной георепликации или присоединяться к ним. Дополнительные сведения см. в разделе Настройка активной георепликации для экземпляров управляемых служб Redis в Azure.
Нажмите кнопку "Далее": вкладка "Дополнительно ".
Настройте все модули Redis , которые нужно добавить в экземпляр.
Задайте политику кластеризации:
- Использование Enterprise для использования RedisSearch или других модулей
- Используйте OSS для кластеризованного кэша.
- Используйте Некластеризованный (Превью) для некластеризованного кэша.
Дополнительные сведения о выборе политики кластеризации см. в статье "Политика кластера".
По умолчанию для нового управляемого кэша:
- Идентификатор Microsoft Entra включен.
- Проверка подлинности ключей доступа отключена по соображениям безопасности.
Это важно
После создания экземпляра кэша нельзя изменять модули. Модули должны быть включены во время создания экземпляра Управляемого Redis в Azure. После создания кэша невозможно включить настройку модуля.
Это важно
Для оптимальной безопасности рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к кэшу, если это возможно. Авторизация с помощью идентификатора Microsoft Entra и управляемых удостоверений обеспечивает более высокую безопасность и удобство использования при авторизации ключа общего доступа. Для получения дополнительной информации об использовании управляемых удостоверений с кэшем см. в разделе Используйте идентификатор Microsoft Entra для проверки подлинности кэша.
Это важно
После создания не удается изменить политику кластеризации управляемого экземпляра Redis Azure. Если вы используете RediSearch, требуется политика кластера Enterprise и
NoEvictionявляется единственной поддерживаемой политикой вытеснения.Это важно
Если вы используете этот экземпляр кэша в группе георепликации, политики вытеснения нельзя изменить после создания экземпляра. Убедитесь, что вы знаете политики вытеснения ваших основных узлов, перед тем как создать кэш. Дополнительные сведения о активной георепликации см. в разделе "Предварительные требования для активной георепликации".
Выберите «Далее: Теги» и пропустите.
Нажмите кнопку "Далее": проверка и создание.
Проверьте параметры и выберите Создать.
Создание экземпляра Redis занимает несколько минут. Ход выполнения можно отслеживать на странице Обзор Управляемого Redis в Azure. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.
Настройка рабочей среды
Ниже показано, как настроить рабочую среду для приложения Java.
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export REDIS_CACHE_PORT=10000
Замените заполнители следующими значениями:
<your-host-name>: DNS-имя узла. Чтобы получить имя узла и порты для кэша, выберите "Обзор " в меню "Ресурс ". Имя узла имеет форму<DNS name>.redis.cache.windows.net.
<your-client-id>: Идентификатор клиента вашей регистрации приложения Azure AD.<your-client-secret>: секретный ключ клиента для регистрации приложения в Azure AD.<your-tenant-id>: идентификатор клиента Azure Active Directory.Замечание
В приведенном выше примере используется проверка подлинности секрета клиента. Вы также можете настроить библиотеку
redis-authx-entraidдля использования других методов проверки подлинности, таких как управляемое удостоверение или сертификат клиента, изменивEntraIDTokenAuthConfigBuilderконфигурацию в коде.
Создание нового приложения Java
Используйте maven для создания нового приложения быстрого запуска:
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Перейдите в новый каталог проекта redis-jedis-test .
Откройте файл pom.xml. В файле отображается зависимость для Jedis:
Замечание
Корпорация Майкрософт вступила в партнерство с Redis, Inc. В рамках этой совместной работы поддержка проверки подлинности Идентификатора Microsoft Entra была перенесена из пакета SDK Azure в расширения Redis Entra ID. Новая
redis-authx-entraidбиблиотека предоставляет расширенные возможности аутентификации и является рекомендуемым подходом для аутентификации Microsoft Entra ID через 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>Закройте файл pom.xml.
Откройте файл App.java и ознакомьтесь с представленным ниже кодом:
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(); } }
В этом коде показано, как подключиться к экземпляру Управляемого Redis в Azure с помощью имени узла кэша и ключевых переменных среды. Код также хранит строковое значение в кэше и извлекает его. Команды
PINGтакже выполняются.Закройте файл App.java.
Создание и запуск приложения
Выполните следующую команду Maven для построения и запуска приложения:
mvn compile exec:java -D exec.mainClass=example.demo.App
В следующих выходных данных видно, что Message ключ ранее имел кэшированное значение. Оно было обновлено до нового значения с помощью jedis.set. Приложение также выполнило команды 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!
Очистите ресурсы
Если вы планируете продолжить работу со следующим руководством, вы можете сохранить ресурсы, созданные в этом кратком руководстве, и повторно использовать их.
В противном случае, если вы закончили работу с образцом приложения из быстрого старта, вы можете удалить ресурсы Azure, созданные в этом быстром старте, чтобы избежать излишних расходов.
Это важно
Удаление группы ресурсов — необратимая операция, и все соответствующие ресурсы удаляются окончательно. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если вы создали ресурсы для размещения этого примера в существующей группе ресурсов, содержащей ресурсы, которые необходимо сохранить, можно удалить каждый ресурс по отдельности, а не удалить группу ресурсов.
Войдите в портал Azure и выберитеГруппы ресурсов.
Введите имя группы ресурсов в текстовое поле Фильтровать по имени. Инструкции для этой статьи использовали группу ресурсов с именем
TestResources. В группе ресурсов в списке результатов выберите "Тестовые ресурсы " и "Удалить группу ресурсов".Введите имя группы ресурсов, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Дальнейшие шаги
Из этого краткого руководства вы узнали, как использовать Управляемый Redis Azure из приложения Java.