Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как использовать Кэш Azure для Redis для хранения и извлечения данных в приложении Spring Boot. Используя Кэш Azure для Redis, вы можете повысить производительность и масштабируемость приложений, которые сильно зависят от внутренних хранилищ данных.
В этом руководстве мы рассмотрим два метода проверки подлинности: проверку подлинности 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>7.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Заметка
Настройте эту спецификацию материалов (BOM) в разделе <dependencyManagement>pom.xml файла. Эта конфигурация гарантирует, что все зависимости Spring Cloud Azure используют одну и ту же версию. Дополнительные сведения о версии, используемой для этого 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=truespring.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
Теперь, когда у вас есть приложение Spring Boot, работающее локально, пришло время переместить его в рабочую среду. Приложения Azure Spring упрощает развертывание приложений Spring Boot в Azure без каких-либо изменений кода. Служба управляет инфраструктурой приложений Spring, чтобы разработчики могли сосредоточиться на коде. Приложения Azure Spring предоставляет управление жизненным циклом с помощью комплексного мониторинга и диагностики, управления конфигурацией, обнаружения служб, интеграции CI/CD, сине-зеленого развертывания и других функций. Сведения о развертывании приложения в Приложения Azure Spring см. в статье "Развертывание первого приложения в Приложения Azure Spring".
Дальнейшие действия
Чтобы узнать больше о Spring и Azure, перейдите в центр документации Spring в Azure.