Краткое руководство. Использование Кэш Azure для Redis с приложением Java
В этом кратком руководстве описано, как включить Кэш Azure для Redis в приложение Java с помощью клиента Jedis Redis. Приложение подключается к защищенному выделенному кэшу, доступному из любого приложения в Azure.
Перейдите к коду
В этом кратком руководстве используется функция архетипа Maven для создания шаблонов для приложения Java. В кратком руководстве описывается настройка кода для создания рабочего приложения, которое подключается к Кэш Azure для Redis.
Если вы хотите перейти непосредственно к коду, ознакомьтесь с примером краткого руководства по Java на GitHub.
Необходимые компоненты
- Подписка Azure. Создать бесплатно
- Apache Maven
Создание кэша
Чтобы создать кэш, войдите в портал Azure. В меню портала выберите "Создать ресурс".
В области "Начало работы" введите Кэш Azure для Redis в строке поиска. В результатах поиска найдите Кэш Azure для Redis и нажмите кнопку "Создать".
На панели "Новый кэш Redis" на вкладке "Основы" настройте следующие параметры для кэша:
Параметр Действие Description Подписка Выберите свою подписку Azure. Подписка, используемая для создания нового экземпляра Кэш Azure для Redis. Группа ресурсов Выберите группу ресурсов или щелкните Создать и введите новое имя группы ресурсов. Имя группы ресурсов, в которой создается кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе. DNS-имя Введите уникальное имя. Имя кэша должно быть строкой от 1 до 63 символов, содержащих только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Имя \<DNS name>.redis.cache.windows.net
узла экземпляра кэша .Местонахождение Выберите расположение. Регион Azure, расположенный рядом с другими службами, используюющими кэш. Номер SKU кэша Выберите номер SKU. Номер SKU определяет размер, производительность и параметры компонентов, доступные для кэша. Дополнительные сведения см. в статье Общие сведения о Кэше Azure для Redis. Объем кэша Выберите размер кэша. Дополнительные сведения см. в статье Общие сведения о Кэше Azure для Redis. Перейдите на вкладку "Сеть" или нажмите кнопку "Далее: сеть".
На вкладке "Сеть" выберите метод подключения, используемый для кэша.
Выберите вкладку "Дополнительно" или нажмите кнопку "Далее".
На панели "Дополнительно" проверьте или выберите метод проверки подлинности на основе следующих сведений:
- По умолчанию для нового кэша "Базовый", "Стандартный" или "Премиум" включена проверка подлинности Microsoft Entra Authentication, а проверка подлинности ключей доступа отключена.
- Для кэшей "Базовый" или "Стандартный" можно выбрать выбранный порт, отличный от TLS.
- Для кэшей уровня "Стандартный" и "Премиум" можно включить зоны доступности. После создания кэша невозможно отключить зоны доступности.
- Для кэша Premium настройте параметры для порта, не относяющегося к TLS, кластеризации, управляемому удостоверению и сохраняемости данных.
Внимание
Для оптимальной безопасности рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к кэшу, если это возможно. Авторизация с помощью идентификатора Microsoft Entra и управляемых удостоверений обеспечивает более высокую безопасность и удобство использования при авторизации ключа общего доступа. Дополнительные сведения об использовании управляемых удостоверений с кэшем см. в разделе "Использование идентификатора Microsoft Entra для проверки подлинности кэша".
(Необязательно) Выберите вкладку "Теги" или нажмите кнопку "Далее: теги".
(Необязательно) На вкладке "Теги" введите имя и значение тега, если вы хотите классифицировать ресурс кэша.
Нажмите кнопку Просмотреть и создать.
На вкладке "Проверка и создание " Azure автоматически проверяет конфигурацию.
Когда отобразится сообщение Проверка пройдена зеленого цвета, выберите Создать.
Развертывание нового кэша происходит в течение нескольких минут. Ход развертывания можно отслеживать на панели обзора Кэш Azure для Redis. Когда отображается состояние выполнения, кэш готов к использованию.
Получение имени узла, портов и ключа доступа
Чтобы подключиться к серверу Кэш Azure для Redis, клиент кэша должен иметь имя узла, порты и ключ доступа кэша. Некоторые клиенты могут ссылаться на эти элементы с помощью немного разных имен. Имя узла, порты и ключи можно получить в портал Azure.
Чтобы получить ключ доступа для кэша, выполните приведенные далее действия.
- В портал Azure перейдите в кэш.
- В меню службы в разделе "Параметры" выберите "Проверка подлинности".
- На панели проверки подлинности перейдите на вкладку "Ключи доступа".
- Чтобы скопировать значение ключа доступа, щелкните значок копирования в поле ключа.
Чтобы получить имя узла и порты для кэша, выполните следующие действия.
- В портал Azure перейдите в кэш.
- В меню службы выберите "Обзор".
- В разделе Essentials для имени узла щелкните значок "Копировать", чтобы скопировать значение имени узла. Значение имени узла имеет форму
<DNS name>.redis.cache.windows.net
. - Для портов щелкните значок копирования , чтобы скопировать значения портов.
Настройка рабочей среды
В зависимости от операционной системы добавьте переменные среды для имени узла и ключа первичного доступа, которые вы указали ранее. В окне командной строки или окне терминала задайте следующие значения:
export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
export REDISCACHEKEY=<your-primary-access-key>
Замените значения заполнителей следующими значениями:
<your-host-name>
: DNS-имя узла, полученное из раздела "Свойства" ресурса Кэш Azure для Redis в портал Azure.<your-primary-access-key>
: первичный ключ доступа, полученный из раздела "Ключи доступа" ресурса Кэш Azure для Redis в портал Azure.
Просмотр примера Java
В этом примере вы запустите пример приложения с помощью Maven.
Перейдите в новый каталог проекта redistest .
Откройте файл pom.xml. В файле убедитесь, что отображается зависимость для Jedis :
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.1.0</version> <type>jar</type> <scope>compile</scope> </dependency>
Закройте файл pom.xml.
Откройте App.java и убедитесь, что появится следующий код:
package example.demo; import redis.clients.jedis.DefaultJedisClientConfig; import redis.clients.jedis.Jedis; /** * Redis test * */ public class App { public static void main( String[] args ) { boolean useSsl = true; String cacheHostname = System.getenv("REDISCACHEHOSTNAME"); String cachekey = System.getenv("REDISCACHEKEY"); // Connect to the Azure Cache for Redis over the TLS/SSL port using the key. Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder() .password(cachekey) .ssl(useSsl) .build()); // Perform cache operations by 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(); } }
В этом коде показано, как подключиться к экземпляру Кэш Azure для Redis с помощью имени узла кэша и ключевых переменных среды. Код также хранит строковое значение в кэше и извлекает его. Также выполняются команды
PING
иCLIENT LIST
.Закройте App.java.
Сборка и запуск приложения
Задайте переменные среды, как отмечалось ранее:
Чтобы создать и запустить приложение, выполните следующую команду Maven:
В следующих выходных данных видно, что Message
ключ ранее имел кэшированное значение. Значение было обновлено до нового значения с помощью jedis.set
. Кроме того, оно выполнило команды PING
и 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
Очистка ресурсов
Если вы хотите продолжить использовать ресурсы, созданные в этой статье, сохраните группу ресурсов.
В противном случае, чтобы избежать расходов, связанных с ресурсами, при завершении использования ресурсов можно удалить созданную группу ресурсов Azure.
Предупреждение
Удаление группы ресурсов — процесс необратимый. При удалении группы ресурсов все ресурсы в группе ресурсов удаляются безвозвратно. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если вы создали ресурсы внутри существующей группы ресурсов с ресурсами, которые необходимо сохранить, можно удалить каждый ресурс по отдельности, а не удалить группу ресурсов.
Удаление группы ресурсов
Войдите на портал Azure и щелкните Группы ресурсов.
Выберите группу ресурсов для удаления.
Если в фильтре для любого поля существует много групп ресурсов, введите имя созданной группы ресурсов для выполнения этой статьи. В списке результатов поиска выберите группу ресурсов.
Выберите команду Удалить группу ресурсов.
В области "Удалить группу ресурсов" введите имя группы ресурсов, чтобы подтвердить, и нажмите кнопку "Удалить".
В течение нескольких минут группа ресурсов и все его ресурсы удаляются.