빠른 시작: Java에서 Azure Cache for Redis 사용

이 빠른 시작에서는 Jedis Redis 클라이언트를 사용하여 Azure Cache for Redis를 자바 앱에 통합합니다. 캐시는 Azure 내의 모든 애플리케이션에서 액세스할 수 있는 안전한 전용 캐시입니다.

GitHub의 코드로 건너뛰기

GitHub에서 Java 빠른 시작 리포지토리를 복제합니다.

필수 구성 요소

Azure Cache for Redis 만들기

  1. 캐시를 만들려면 Azure Portal에 로그인하여 리소스 만들기를 선택합니다.

    리소스 만들기는 왼쪽 탐색 창에 강조 표시됩니다.

  2. 새로 만들기 페이지에서 데이터베이스를 선택한 다음, Azure Cache for Redis를 선택합니다.

    새로 만들기에서 데이터베이스가 강조 표시되고 Azure Cache for Redis가 강조 표시됩니다.

  3. 새 Redis Cache 페이지에서 새 캐시의 설정을 구성합니다.

    설정 값 선택 설명
    구독 드롭다운하여 구독을 선택합니다. 이 구독 아래에 새 Azure Cache for Redis 인스턴스가 만들어집니다.
    리소스 그룹 드롭다운하여 리소스 그룹을 선택하거나, 새로 만들기를 선택하고 새 리소스 그룹 이름을 입력합니다. 캐시 및 기타 리소스를 만들 새 리소스 그룹의 이름입니다. 모든 앱 리소스를 하나의 리소스 그룹에 배치하면 앱 리소스를 쉽게 관리하거나 삭제할 수 있습니다.
    DNS 이름 고유한 이름을 입력합니다. 캐시 이름은 1~63자의 문자열이어야 하며 숫자, 문자, 하이픈만 포함할 수 있습니다. 이름은 숫자 또는 문자로 시작하고 끝나야 하며 연속 하이픈을 포함할 수 없습니다. 캐시 인스턴스의 호스트 이름<DNS 이름>.redis.cache.windows.net이 됩니다.
    위치 드롭다운하여 위치를 선택합니다. 캐시를 사용할 다른 서비스와 가까이 있는 Azure 지역을 선택합니다.
    캐시 유형 드롭다운하여 계층을 선택합니다. 계층에 따라 캐시에 사용 가능한 크기, 성능 및 기능이 결정됩니다. 자세한 내용은 Azure Cache for Redis 개요를 참조하세요.
  4. 네트워킹 탭을 선택하거나 페이지 맨 아래에서 네트워킹 단추를 선택합니다.

  5. 네트워킹 탭에서 연결 방법을 선택합니다.

  6. 다음: 고급 탭을 선택하거나 페이지 맨 아래에서 다음: 고급 단추를 선택합니다.

  7. 기본 또는 표준 캐시 인스턴스의 고급 탭에서 TLS 포트가 아닌 다른 포트를 사용하도록 설정하려면 사용 토글을 선택합니다. 4 또는 6 중에서 사용하려는 Redis 버전을 선택할 수도 있습니다.

    Redis 버전 4 또는 6.

  8. 프리미엄 캐시 인스턴스의 고급 탭에서 TLS가 아닌 다른 포트, 클러스터링 및 데이터 지속성에 대한 설정을 구성합니다. 4 또는 6 중에서 사용하려는 Redis 버전을 선택할 수도 있습니다.

  9. 다음: 태그 탭을 선택하거나 페이지 하단에서 다음: 태그 단추를 선택합니다.

  10. 필요에 따라 리소스를 분류하려는 경우 태그 탭에서 이름 및 값을 입력합니다.

  11. 검토 + 만들기를 선택합니다. 검토 + 만들기 탭으로 이동됩니다. 여기서 구성이 유효한지 검사됩니다.

  12. 녹색 유효성 검사 통과 메시지가 표시되면 만들기를 선택합니다.

캐시를 만드는 데 잠시 시간이 걸립니다. Azure Cache for Redis 개요 페이지에서 진행률을 모니터링할 수 있습니다. 상태실행 중으로 표시되면 캐시를 사용할 준비가 된 것입니다.

Azure Portal에서 호스트 이름, 포트 및 액세스 키를 검색합니다.

Azure Cache for Redis 서버를 연결하려면 캐시 클라이언트에 캐시에 대한 호스트 이름, 포트 및 키가 필요합니다. 일부 클라이언트는 약간 다른 이름으로 이러한 항목을 참조할 수 있습니다. Azure Portal에서 호스트 이름, 포트 및 키를 가져올 수 있습니다.

  • 액세스 키를 가져오려면 캐시의 왼쪽 탐색 영역에서 액세스 키를 선택합니다.

    Azure Cache for Redis 키

  • 호스트 이름 및 포트를 가져오려면 캐시의 왼쪽 탐색 영역에서 속성을 선택합니다. 호스트 이름은 <DNS 이름>.redis.cache.windows.net 형식입니다.

    Azure Cache for Redis 속성

작업 환경 설정

운영 체제에 따라 위에서 언급한 호스트 이름기본 액세스 키에 대한 환경 변수를 추가합니다. 명령 프롬프트 또는 터미널 창을 열고 다음 값을 설정합니다.

set REDISCACHEHOSTNAME=<YOUR_HOST_NAME>.redis.cache.windows.net
set REDISCACHEKEY=<YOUR_PRIMARY_ACCESS_KEY>
export REDISCACHEHOSTNAME=<YOUR_HOST_NAME>.redis.cache.windows.net
export REDISCACHEKEY=<YOUR_PRIMARY_ACCESS_KEY>

자리 표시자를 다음 값으로 바꿉니다.

  • <YOUR_HOST_NAME>: Azure Portal에 있는 Azure Cache for Redis 리소스의 속성 섹션에서 가져온 DNS 호스트 이름입니다.
  • <YOUR_PRIMARY_ACCESS_KEY>: Azure Portal에 있는 Azure Cache for Redis 리소스의 액세스 키 섹션에서 가져온 기본 액세스 키입니다.

Java 샘플 이해

이 샘플에서는 Maven을 사용하여 빠른 시작 앱을 실행합니다.

  1. redistest 프로젝트 디렉터리로 변경합니다.

  2. pom.xml 파일을 엽니다. 파일에서 Jedis에 대한 종속성을 볼 수 있습니다.

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>4.1.0</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    
  3. pom.xml 파일을 저장합니다.

  4. App.java를 열고 다음 코드가 포함된 코드를 확인합니다.

    package example.demo;
    
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.Jedis;
    
    /**
     * Redis test
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
    
            boolean useSsl = true;
            String cacheHostname = System.getenv("REDISCACHEHOSTNAME");
            String cachekey = System.getenv("REDISCACHEKEY");
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder()
                .password(cachekey)
                .ssl(useSsl)
                .build());
    
            // Perform cache operations using the cache connection object...
    
            // Simple PING command
            System.out.println( "\nCache Command  : Ping" );
            System.out.println( "Cache Response : " + jedis.ping());
    
            // Simple get and put of integral data types into the cache
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            System.out.println( "\nCache Command  : SET Message" );
            System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!"));
    
            // Demonstrate "SET Message" executed as expected...
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            // Get the client list, useful to see if connection list is growing...
            System.out.println( "\nCache Command  : CLIENT LIST" );
            System.out.println( "Cache Response : " + jedis.clientList());
    
            jedis.close();
        }
    }
    

    이 코드는 캐시 호스트 이름 및 키 환경 변수를 사용하여 Azure Cache for Redis 인스턴스에 연결하는 방법을 보여 줍니다. 코드는 또한 캐시에 문자열 값을 저장하고 검색합니다. 또한 PINGCLIENT LIST 명령을 실행했습니다.

  5. App.java을 닫습니다.

앱 빌드 및 실행

  1. 먼저, 아직 설정하지 않았다면 위에서 언급한 대로 환경 변수를 설정해야 합니다.

    set REDISCACHEHOSTNAME=<YOUR_HOST_NAME>.redis.cache.windows.net
    set REDISCACHEKEY=<YOUR_PRIMARY_ACCESS_KEY>
    
  2. 다음 Maven 명령을 실행하여 앱을 빌드 및 실행합니다.

    mvn compile
    mvn exec:java -D exec.mainClass=example.demo.App
    

아래 예에서 Message 키에 이전에 캐시된 값이 있었던 것을 볼 수 있습니다. jedis.set을 사용하여 값이 새 값으로 업데이트되었습니다. 또한 앱에서 PINGCLIENT LIST 명령을 실행했습니다.

Azure Cache for Redis 앱 완료

리소스 정리

빠른 시작 코드를 계속 사용하면 이 빠른 시작에서 만든 리소스를 유지하여 다시 사용할 수 있습니다.

그렇지 않고, 빠른 시작 샘플 애플리케이션 사용이 끝나면 이 빠른 시작에서 만든 Azure 리소스를 삭제하여 요금이 청구되는 것을 방지할 수 있습니다.

중요

리소스 그룹 삭제는 취소할 수 없으며 해당 리소스 그룹 및 해당 그룹 안에 있는 모든 리소스는 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 해야 합니다. 유지하려는 리소스가 포함된 기존 리소스 그룹 내서에 이 샘플을 호스팅하는 리소스를 만든 경우 리소스 그룹을 삭제하는 대신, 완쪽에서 각 리소스를 개별적으로 삭제할 수 있습니다.

  1. Azure Portal에 로그인하고 리소스 그룹을 선택합니다.

  2. 이름을 기준으로 필터링 텍스트 상자에 리소스 그룹의 이름을 입력합니다. 이 문서의 지침에서는 TestResources라는 리소스 그룹을 사용했습니다. 결과 목록의 리소스 그룹에서 ... 를 선택한 다음, 리소스 그룹 삭제를 선택합니다.

    Azure 리소스 그룹이 삭제됨

  3. 리소스 그룹을 삭제할지 확인하는 메시지가 표시됩니다. 확인할 리소스 그룹의 이름을 입력하고 삭제를 선택합니다.

잠시 후, 리소스 그룹 및 해당 그룹에 포함된 모든 리소스가 삭제됩니다.

다음 단계

이 빠른 시작에서는 Java 애플리케이션에서 Azure Cache for Redis를 사용하는 방법을 알아보았습니다. ASP.NET 웹앱에서 Azure Cache for Redis를 사용하려면 다음 빠른 시작으로 계속 진행하세요.