Spring에서 Azure Redis Cache 사용

Azure Cache for Redis에서는 Redis 소프트웨어를 기반으로 하는 메모리 내 데이터 저장소를 제공합니다. Redis 는 백 엔드 데이터 저장소를 많이 사용하는 애플리케이션의 성능과 확장성을 향상시킵니다.

이 자습서에서는 Redis 캐시를 사용하여 Spring Boot 애플리케이션에서 데이터를 저장하고 검색하는 방법을 보여 줍니다.

필수 조건

  • Azure 구독 - 무료로 구독을 만듭니다.

  • JDK(Java Development Kit) 버전 8 이상.

  • Apache Maven, 버전 3.0 이상.

  • cURL 또는 유사한 HTTP 유틸리티를 사용하여 기능을 테스트합니다.

  • Redis 캐시 인스턴스입니다. 없는 경우 빠른 시작: 오픈 소스 Redis 캐시 만들기를 참조하세요.

  • Spring Boot 애플리케이션입니다. 없는 경우 Spring Initializr를 사용하여 Maven 프로젝트를 만듭니다. Maven 프로젝트를 선택하고 종속성 아래에서 Spring WebSpring Data Reactive Redis 종속성을 추가한 다음 Java 버전 8 이상을 선택해야 합니다.

애플리케이션 코딩

Redis 캐시를 사용하여 데이터를 저장하고 검색하려면 다음 단계를 사용하여 애플리케이션을 구성합니다.

  1. 다음 예제와 같이 application.properties 구성 파일에서 Redis 캐시 자격 증명을 구성합니다.

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

    참고 항목

    SSL을 활성화하는 Jedis와 같은 다른 Redis 클라이언트를 사용하는 경우 application.properties 파일에서 사용하고자 하는 SSL과 포트 6380을 지정합니다. 예시:

    # 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
    

    자세한 내용은 빠른 시작을 참조하세요 . Java에서 Azure Cache for Redis 사용

  2. 시작 클래스 파일을 편집하여 다음 콘텐츠를 표시합니다. 이 코드는 데이터를 저장하고 검색합니다.

    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. 애플리케이션을 시작합니다. 애플리케이션은 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 on Azure 설명서 센터를 계속 진행하세요.