Aracılığıyla paylaş


Azure Redis Cache'i Spring'de kullanma

Redis için Azure Cache, Redis yazılımını temel alan bir bellek içi veri deposu sağlar. Redis, arka uç veri depolarını yoğun olarak kullanan bir uygulamanın performansını ve ölçeklenebilirliğini artırır.

Bu öğreticide, Spring Boot uygulamasında veri depolamak ve almak için Redis önbelleğinin nasıl kullanılacağı gösterilmektedir.

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

Verileri Redis için Azure Cache'e Önbelleğe Alma

Redis için Azure Cache örneğiyle 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>5.22.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Not

Bu Ürün Reçetesi (BOM), <dependencyManagement> dosyanızın bölümünde yapılandırılmalıdır. 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