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

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

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

Клонируйте репозиторий Краткое руководство для Java на GitHub.

Необходимые компоненты

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

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

    Create a resource is highlighted in the left navigation pane.

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

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

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

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

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

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

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Для кэшей "Базовый" или "Стандартный" переключите выбор порта, отличного от TLS. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
    • Для кэша Premium настройте параметры для порта, отличного от TLS, кластеризация, управляемого удостоверения и сохраняемости данных. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
  7. Выберите вкладку Next: Tags (Далее: теги) или нажмите в нижней части страницы кнопку Next: Tags (Далее: теги).

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

  9. Выберите Review + create (Просмотреть и создать). Вы будете перенаправлены на вкладку Проверка и создание, где Azure проверит вашу конфигурацию.

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

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

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

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

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

    Azure Cache for Redis keys

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

    Azure Cache for Redis properties

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

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

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.

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

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

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>4.1.0</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    
  3. Закройте файл pom.xml.

  4. Откройте файл 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 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.

  5. Закройте файл App.java.

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

  1. Во-первых, если вы еще не сделали этого, необходимо задать переменные среды, как отмечалось ранее.

    export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
    export REDISCACHEKEY=<your-primary-access-key>
    
  2. Выполните следующую команду Maven для построения и запуска приложения:

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

В следующих выходных данных видно, что 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, созданные в текущем руководстве, чтобы избежать ненужных расходов.

Важно!

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

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

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

    Screenshot of the Azure portal that shows the Resource groups page with the Delete resource group button highlighted.

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

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

Следующие шаги

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