Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Кэш Azure для Redis предоставляет хранилище данных в памяти на основе программного обеспечения Redis. Redis повышает производительность и масштабируемость приложения, использующего внутренние хранилища данных.
В этом руководстве показано, как использовать кэш Redis для хранения и извлечения данных в приложении Spring Boot.
В этом руководстве мы рассмотрим два метода проверки подлинности: проверку подлинности Microsoft Entra и проверку подлинности Redis. На вкладке "Без пароля" показана проверка подлинности Microsoft Entra, а на вкладке "Пароль" отображается проверка подлинности Redis.
Проверка подлинности Microsoft Entra — это механизм подключения к кэшу Azure для Redis с помощью удостоверений, определенных в идентификаторе Microsoft Entra. С помощью проверки подлинности Microsoft Entra можно управлять удостоверениями пользователей базы данных и другими службами Майкрософт в центральном расположении, что упрощает управление разрешениями.
Проверка подлинности Redis использует пароли в Redis. Если вы решили использовать пароли в качестве учетных данных, необходимо самостоятельно управлять паролями.
Необходимые условия
Подписка Azure — создайте ее бесплатно.
Пакет средств разработки Java (JDK) версии 17 или более поздней.
Apache Maven версии 3.0 или более поздней.
cURL или аналогичная программа HTTP для тестирования функциональных возможностей.
Экземпляр кэша Redis. Если у вас нет одного, см. краткое руководство. Создание кэша Redis с открытым исходным кодом.
Приложение Spring Boot. Если у вас его нет, создайте проект Maven, используя Spring Initializr. Обязательно выберите Проект Maven и в разделе "Зависимости" добавьте зависимости Spring Web и Spring Data Reactive Redis , а затем выберите Java версии 8 или более поздней.
Кэширование данных в кэш Azure для Redis
С помощью экземпляра кэша Azure для Redis можно кэшировать данные с помощью Spring Cloud Azure.
Чтобы установить Spring Cloud Azure Starter Data Redis с модулем Lettuce, добавьте следующие зависимости в файл pom.xml :
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.22.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Заметка
Этот счет материалов (BOM) должен быть настроен в <dependencyManagement>
разделе файла pom.xml . Эта конфигурация гарантирует, что все зависимости Azure Spring Cloud используют одну и ту же версию. Дополнительные сведения о версии, используемой для этого BOM, см. в статье "Какая версия Spring Cloud Azure должна использоваться".
Код приложения
Чтобы использовать кэш Redis для хранения и извлечения данных, настройте приложение, выполнив следующие действия.
- Проверка подлинности идентификатора Microsoft Entra (рекомендуется)
- Проверка подлинности ключа доступа
Настройте учетные данные кэша Redis в файле конфигурации application.properties , как показано в следующем примере.
spring.data.redis.host=<your-redis-name>.redis.cache.windows.net spring.data.redis.port=10000 spring.data.redis.username=<your-redis-username> spring.data.redis.ssl.enabled=true spring.data.redis.azure.passwordless-enabled=true
spring.data.redis.host=<your-redis-name>.redis.cache.windows.net spring.data.redis.port=6380 spring.data.redis.username=<your-redis-username> spring.data.redis.ssl.enabled=true spring.data.redis.azure.passwordless-enabled=true
Заметка
Чтобы получить значение
username
, следуйте инструкциям в разделе "Включить проверку подлинности идентификатора Microsoft Entra" в разделе "Использование идентификатора Microsoft Entra для проверки подлинности кэша" и скопируйте значение имени пользователя.Измените файл класса запуска, чтобы отобразить следующее содержимое. Этот код хранит и извлекает данные.
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; @SpringBootApplication public class DemoCacheApplication implements CommandLineRunner { private static final Logger LOGGER = LoggerFactory.getLogger(DemoCacheApplication.class); @Autowired private StringRedisTemplate template; public static void main(String[] args) { SpringApplication.run(DemoCacheApplication.class, args); } @Override public void run(String... args) { ValueOperations<String, String> ops = this.template.opsForValue(); String key = "testkey"; if(!this.template.hasKey(key)){ ops.set(key, "Hello World"); LOGGER.info("Add a key is done"); } LOGGER.info("Return the value from the cache: {}", ops.get(key)); } }
Затем запустите приложение. Приложение извлекает данные из кэша Redis. Вы должны увидеть логи, похожие на следующий пример:
Add a key is done
Return the value from the cache: Hello World
Разверните приложение в Azure Spring Apps
Теперь, когда у вас есть приложение Spring Boot, работающее локально, пришло время переместить его в рабочую среду. Azure Spring Apps упрощает развертывание приложений Spring Boot в Azure без каких-либо изменений кода. Служба управляет инфраструктурой приложений Spring, чтобы разработчики могли сосредоточиться на коде. Azure Spring Apps предоставляет управление жизненным циклом с помощью комплексного мониторинга и диагностики, управления конфигурацией, обнаружения служб, интеграции CI/CD, сине-зеленого развертывания и других функций. Сведения о развертывании приложения в Azure Spring Apps см. в статье "Развертывание первого приложения в Azure Spring Apps".
Дальнейшие действия
Чтобы узнать больше о Spring и Azure, перейдите в центр документации Spring в Azure.