Краткое руководство. Использование Кэша Azure для Redis с приложениями Java

Из этого краткого руководства вы узнаете, как реализовать кэш Azure для Redis в приложении Java с помощью клиента Redis Jedis для обеспечения доступа к защищенному выделенному кэшу, к которому может обращаться любое приложение в Azure.

Переход к коду на GitHub

Если вы хотите сразу перейти к коду, см. краткое руководство по Java на сайте GitHub.

Предварительные требования

Создание экземпляра кэша Azure для Redis

  1. Чтобы создать кэш, войдите на портал Azure и выберите Создать ресурс.

    Область навигации слева с выделенным элементом "Создать ресурс"

  2. На странице Создание выберите Базы данных, а затем Кэш Azure для Redis.

    Страница "Создание" с выделенным элементом "Базы данных" и "Кэш Azure для Redis"

  3. На странице Новый кэш Redis настройте параметры для нового кэша.

    Параметр Выбор значения Описание
    Подписка Раскройте список и выберите нужную подписку. В этой подписке будет создан новый экземпляр кэша Redis для Azure.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    DNS-имя Укажите уникальное имя. Имя кэша должно быть строкой длиной от 1 до 63 символов и содержать только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Имя узла для экземпляра кэша получит значение <DNS name>.redis.cache.windows.net.
    Расположение Откройте список и выберите расположение. Выберите оптимальный регион для других служб, которые будут использовать кэш.
    Тип кэша В раскрывающемся списке выберите уровень. Уровень определяет размер, производительность кэша и доступные функции. Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure".
  4. Выберите вкладку Сети или нажмите кнопку Сети в нижней части страницы.

  5. На вкладке Сети выберите способ подключения.

  6. Выберите вкладку Далее: дополнительно или нажмите в нижней части страницы кнопку Далее: дополнительно.

  7. На вкладке Дополнительно для экземпляра кэша уровня "Базовый" или "Стандартный" установите переключатель, чтобы включить порт, отличный от TLS. Вы также можете выбрать версию Redis, которую хотите использовать, например 4 или 6.

    Redis версии 4 или 6.

  8. На вкладке Дополнительно для экземпляра кэша уровня "Премиум" настройте параметры для портов, отличных от TLS, а также кластеризацию и сохраняемость данных. Вы также можете выбрать версию Redis, которую хотите использовать, например 4 или 6.

  9. Выберите вкладку Далее: теги или нажмите в нижней части страницы кнопку Далее: теги.

  10. При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.

  11. Выберите Проверить и создать. Вы будете перенаправлены на вкладку "Просмотр и создание", где Azure проверит вашу конфигурацию.

  12. Когда отобразится сообщение "Проверка пройдена" зеленого цвета, выберите Создать.

На создание кэша требуется некоторое время. Вы можете отслеживать ход выполнения на странице обзорных сведений кэша Azure для Redis. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.

Получение имени узла, портов и ключей доступа с помощью портала Azure

Чтобы подключаться к экземпляру Кэша Azure для Redis, клиентам кэша требуются имя узла, сведения о портах и ключ кэша. Некоторые клиенты могут ссылаться на эти элементы с помощью незначительно различающихся имен. Вы можете получить имя узла, порты и ключи на портале Azure.

  • Чтобы получить ключи доступа, в области навигации кэша слева щелкните Ключи доступа.

    Ключи кэша Azure для Redis

  • Чтобы получить имя узла и порты, в области навигации кэша слева щелкните Свойства. Имя узла имеет вид <DNS name>.redis.cache.windows.net.

    Свойства кэша Azure для Redis

Настройка рабочей среды

Добавьте переменные среды для имени узла и основного ключа доступа в зависимости от операционной системы. Откройте окно командной строки или окно терминала и задайте следующие значения:

set REDISCACHEHOSTNAME=<YOUR_HOST_NAME>.redis.cache.windows.net
set REDISCACHEKEY=<YOUR_PRIMARY_ACCESS_KEY>
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, создайте новое приложение.

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3 -DgroupId=example.demo -DartifactId=redistest -Dversion=1.0

Перейдите к каталогу нового проекта redistest.

Откройте файл pom.xml и добавьте зависимость для Jedis:

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.2.0</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

Сохраните файл pom.xml .

Откройте файл App.java и замените существующий код представленным ниже:

package example.demo;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;

/**
 * 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.
        JedisShardInfo shardInfo = new JedisShardInfo(cacheHostname, 6380, useSsl);
        shardInfo.setPassword(cachekey); /* Use your access key. */
        Jedis jedis = new Jedis(shardInfo);      

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

Этот код показывает, как подключиться к экземпляру кэша Redis для Azure, используя имя узла кэша и переменные среды ключа. Код также хранит строковое значение в кэше и извлекает его. Также выполняются команды PING и CLIENT LIST.

Сохраните App.java.

Создание и запуск приложения

Выполните следующую команду Maven для построения и запуска приложения:

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

В приведенном ниже примере видно, что ключ Message ранее содержал кэшированное значение, установленное через консоль Redis на портале Azure. Приложение обновило кэшированное значение. Кроме того, оно выполнило команды PING и CLIENT LIST.

Готовое приложение кэша Redis для Azure

Очистка ресурсов

При переходе к следующему руководству в нем можно использовать ресурсы, созданные в этом руководстве.

В противном случае, если вы закончите работу с примером приложения из краткого руководства, вы можете удалить ресурсы Azure, созданные в текущем руководстве, чтобы избежать ненужных расходов.

Важно!

Удаление группы ресурсов — необратимая операция, и все соответствующие ресурсы удаляются окончательно. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если ресурсы для размещения этого примера созданы в имеющейся группе ресурсов, которая содержит другие нужные ресурсы, каждый ресурс можно удалить отдельно в области слева, чтобы не удалять группу ресурсов.

  1. Войдите в портал Azure и выберите Группы ресурсов.

  2. Введите имя группы ресурсов в текстовое поле Фильтровать по имени. В инструкциях в этой статье использовалась группа ресурсов с именем TestResources. В своей группе ресурсов в списке результатов выберите ... , а затем Удалить группу ресурсов.

    Удаление группы ресурсов Azure

  3. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Дальнейшие действия

Из этого краткого руководства вы узнали, как использовать кэш Redis для Azure в приложениях Java. Переходите к следующему краткому руководству по использованию кэша Azure для Redis в веб-приложениях ASP.NET.