Spring Boot uygulamasını Redis için Azure Önbellek bağlama

Bu öğreticide, Redis için Azure Önbellek'in bir Spring Boot uygulamasında verileri depolamak ve almak için nasıl kullanılacağı gösterilmektedir. Redis için Azure Önbellek kullanarak, arka uç veri depolarına yoğun bir şekilde bağımlı olan uygulamalar için performansı ve ölçeklenebilirliği geliştirebilirsiniz.

Bu öğreticide iki kimlik doğrulama yöntemi ekleyeceğiz: Microsoft Entra kimlik doğrulaması ve Redis kimlik doğrulaması. Parolasız sekmesi Microsoft Entra kimlik doğrulamasını, Parola sekmesi ise Redis kimlik doğrulamasını gösterir.

Microsoft Entra kimlik doğrulaması, Microsoft Entra Id'de tanımlanan kimlikleri kullanarak Redis için Azure Cache'e bağlanmaya yönelik bir mekanizmadır. Microsoft Entra kimlik doğrulaması ile veritabanı kullanıcı kimliklerini ve diğer Microsoft hizmetlerini merkezi bir konumda yönetebilirsiniz ve bu da izin yönetimini basitleştirir.

Redis kimlik doğrulaması, Redis'te parolaları kullanır. Parolaları kimlik bilgileri olarak kullanmayı seçerseniz, parolaları kendiniz yönetmeniz gerekir.

Önkoşullar

Redis için Azure Önbellek'da verileri önbelleğe alma

Redis için Azure Önbellek örneği kullanarak Spring Cloud Azure kullanarak verileri önbelleğe alabilirsiniz.

Spring Cloud Azure Starter Data Redis with Lettuce modülünü yüklemek için pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:

<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>

Not

bu Ürün Reçetesini (BOM) <dependencyManagement>pom.xml dosyanızın bölümünde yapılandırın. Bu yapılandırma, tüm Spring Cloud Azure bağımlılıklarının aynı sürümü kullanmasını sağlar. Bu Malzeme Listesi için kullanılan sürüm hakkında daha fazla bilgi için bkz. Spring Cloud Azure'ın Hangi Sürümünü Kullanmalıyım.

Uygulamayı kodlayın

Redis önbelleğini kullanarak verileri depolamak ve almak için aşağıdaki adımları kullanarak uygulamayı yapılandırın:

  1. Aşağıdaki örnekte gösterildiği gibi application.properties yapılandırma dosyasında Redis cache kimlik bilgilerini yapılandırın.

    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
    

    Not

    usernamedeğerini almak için, Önbellek kimlik doğrulaması için Microsoft Entra ID kullanmabelgesinin Önbelleğinizde Microsoft Entra ID kimlik doğrulamasını etkinleştirme bölümündeki yönergeleri izleyin ve kullanıcı adı değerini kopyalayın.

  2. Aşağıdaki içeriği göstermek için başlangıç sınıfı dosyasını düzenleyin. Bu kod verileri depolar ve alır.

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

Ardından uygulamayı başlatın. Uygulama, Redis önbelleğinizden veri alır. Aşağıdaki örneğe benzer günlükler görmeniz gerekir:

Add a key is done
Return the value from the cache: Hello World

Azure Spring Apps'e dağıtım

Spring Boot uygulamasını yerel olarak çalıştırdığınıza göre artık uygulamayı üretim ortamına taşımanın zamanı geldi. Azure Spring Apps , kod değişikliği yapmadan Spring Boot uygulamalarını Azure'a dağıtmayı kolaylaştırır. Hizmet, geliştiricilerin kodlarına odaklanabilmesi için Spring uygulamalarının altyapısını yönetir. Azure Spring Apps kapsamlı izleme ve tanılama, yapılandırma yönetimi, hizmet bulma, CI/CD tümleştirmesi, mavi-yeşil dağıtımlar ve daha fazlasını kullanarak yaşam döngüsü yönetimi sağlar. Uygulamanızı Azure Spring Apps'e dağıtmak için bkz. İlk uygulamanızı Azure Spring Apps'e dağıtma.

Sonraki adımlar

Spring ve Azure hakkında daha fazla bilgi edinmek için Azure'da Spring belge merkezine geçin.

Spring geliştiricileri için Azure Redis için Spring Cloud Azure Önbellek örnekleri