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 bir şekilde 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.

Önkoşullar

  • Azure aboneliği - ücretsiz bir abonelik oluşturun.

  • Java Development Kit (JDK) sürüm 8 veya üzeri.

  • Apache Maven, sürüm 3.0 veya üzeri.

  • cURL veya işlevselliği test etmek için benzer bir HTTP yardımcı programı.

  • Redis önbellek örneği. Dosyanız yoksa bkz . Hızlı Başlangıç: Açık kaynak Redis önbelleği oluşturma.

  • Spring Boot uygulaması. Yoksa Spring Initializr ile bir Maven projesi oluşturun. Maven Projesi'ni seçtiğinizden emin olun ve Bağımlılıklar'ın altında Spring Web ve Spring Data Reactive Redis bağımlılıklarını ekleyin ve ardından Java sürüm 8 veya üzerini seçin.

Uygulamayı kodlama

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.

    # Specify the DNS URI of your Redis cache.
    spring.data.redis.host=<your-redis-name>.redis.cache.windows.net
    
    # Specify the port for your Redis cache.
    spring.data.redis.port=6379
    
    # Specify the access key for your Redis cache.
    spring.data.redis.password=<your-redis-access-key>
    

    Dekont

    SSL’yi etkinleştiren Jedis gibi farklı bir Redis istemcisi kullandıysanız, application.properties dosyanızda SSL kullanmak ve 6380 numaralı bağlantı noktasını kullanmak istediğinizi belirtebilirsiniz. Örneğin:

    # Specify the DNS URI of your Redis cache.
    spring.data.redis.host=<your-redis-name>.redis.cache.windows.net
    # Specify the access key for your Redis cache.
    spring.data.redis.password=<your-redis-access-key>
    # Specify that you want to use SSL.
    spring.data.redis.ssl.enabled=true
    # Specify the SSL port for your Redis cache.
    spring.data.redis.port=6380
    

    Daha fazla bilgi için bkz. Hızlı Başlangıç: Java'da Redis için Azure Cache kullanma.

  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));
        }
    
    }
    
  3. Uygulamayı başlatın. Uygulama Redis önbelleğinizden veri alır. Aşağıdaki örneğe benzer günlükler görürsünüz:

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

Azure Spring Apps'e dağıtma

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 fazlasını öğrenmek için Azure’da Spring belge merkezinde çalışmaya devam edin.