빠른 시작: Java에서 Azure Cache for Redis 사용
이 빠른 시작에서는 Jedis Redis 클라이언트를 사용하여 Azure Cache for Redis를 자바 앱에 통합합니다. 캐시는 Azure 내의 모든 애플리케이션에서 액세스할 수 있는 안전한 전용 캐시입니다.
GitHub의 코드로 건너뛰기
GitHub에서 Java 빠른 시작 리포지토리를 복제합니다.
필수 조건
- Azure 구독 - 체험 구독 만들기
- Apache Maven
Azure Cache for Redis 만들기
캐시를 만들려면 Azure Portal에 로그인하여 리소스 만들기를 선택합니다.
새로 만들기 페이지에서 데이터베이스를 선택한 다음, Azure Cache for Redis를 선택합니다.
새 Redis Cache 페이지에서 새 캐시의 설정을 구성합니다.
설정 값 선택 설명 구독 드롭다운하여 구독을 선택합니다. 이 구독 아래에 새 Azure Cache for Redis 인스턴스가 만들어집니다. 리소스 그룹 드롭다운하여 리소스 그룹을 선택하거나, 새로 만들기를 선택하고 새 리소스 그룹 이름을 입력합니다. 캐시 및 기타 리소스를 만들 새 리소스 그룹의 이름입니다. 모든 앱 리소스를 하나의 리소스 그룹에 배치하면 앱 리소스를 쉽게 관리하거나 삭제할 수 있습니다. DNS 이름 고유한 이름을 입력합니다. 캐시 이름은 1~63자의 문자열이어야 하며 숫자, 문자, 하이픈만 포함할 수 있습니다. 이름은 숫자 또는 문자로 시작하고 끝나야 하며 연속 하이픈을 포함할 수 없습니다. 캐시 인스턴스의 ‘호스트 이름’은 ‘DNS 이름’<>.redis.cache.windows.net입니다. 위치 드롭다운하여 위치를 선택합니다. 캐시를 사용할 다른 서비스와 가까이 있는 Azure 지역을 선택합니다. 캐시 유형 드롭다운하여 계층을 선택합니다. 계층에 따라 캐시에 사용 가능한 크기, 성능 및 기능이 결정됩니다. 자세한 내용은 Azure Cache for Redis 개요를 참조하세요. 네트워킹 탭을 선택하거나 페이지 맨 아래에서 네트워킹 단추를 선택합니다.
네트워킹 탭에서 연결 방법을 선택합니다.
고급 탭을 보려면 다음: 고급 탭을 선택하거나 페이지 하단에서 다음: 고급 단추를 선택합니다.
- 기본 또는 표준 캐시의 경우 비 TLS 포트에 대한 선택 영역을 토글합니다. Microsoft Entra 인증을 사용하도록 설정할지도 선택할 수 있습니다.
- 프리미엄 캐시의 경우 비 TLS 포트, 클러스터링, 관리 ID 및 데이터 지속성에 대한 설정을 구성합니다. Microsoft Entra 인증을 사용하도록 설정할지도 선택할 수 있습니다.
다음: 태그 탭을 선택하거나 페이지 맨 아래에서 다음: 태그 단추를 선택합니다.
필요에 따라 리소스를 분류하려는 경우 태그 탭에서 이름 및 값을 입력합니다.
검토 + 만들기를 선택합니다. 검토 + 만들기 탭으로 이동됩니다. 여기서 Azure가 구성의 유효성을 검사합니다.
녹색 유효성 검사 통과 메시지가 표시되면 만들기를 선택합니다.
캐시를 만드는 데 잠시 시간이 걸립니다. Azure Cache for Redis 개요 페이지에서 진행률을 모니터링할 수 있습니다. 상태가 실행 중으로 표시되면 캐시를 사용할 준비가 된 것입니다.
Azure Portal에서 호스트 이름, 포트 및 액세스 키를 검색합니다.
Azure Cache for Redis 서버를 연결하려면 캐시 클라이언트에 캐시에 대한 호스트 이름, 포트 및 키가 필요합니다. 일부 클라이언트는 약간 다른 이름으로 이러한 항목을 참조할 수 있습니다. Azure Portal에서 호스트 이름, 포트 및 키를 가져올 수 있습니다.
액세스 키를 가져오려면 리소스 메뉴에서 인증을 선택합니다. 그런 다음 액세스 키 탭을 선택합니다.
캐시의 호스트 이름과 포트를 확인하려면 리소스 메뉴에서 개요를 선택합니다. 호스트 이름은 <DNS name>.redis.cache.windows.net 형식입니다.
작업 환경 설정
운영 체제에 따라 이전에 언급한 호스트 이름 및 기본 액세스 키에 대한 환경 변수를 추가합니다. 명령 프롬프트 또는 터미널 창을 열고 다음 값을 설정합니다.
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을 사용하여 빠른 시작 앱을 실행합니다.
새 redistest 프로젝트 디렉터리로 변경합니다.
pom.xml 파일을 엽니다. 파일에서 Jedis에 대한 종속성을 볼 수 있습니다.
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.1.0</version> <type>jar</type> <scope>compile</scope> </dependency>
pom.xml 파일을 저장합니다.
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 인스턴스에 연결하는 방법을 보여 줍니다. 코드는 또한 캐시에 문자열 값을 저장하고 검색합니다. 또한
PING
및CLIENT LIST
명령을 실행했습니다.App.java을 닫습니다.
앱 빌드 및 실행
먼저, 아직 설정하지 않았다면 이전에 언급한 대로 환경 변수를 설정해야 합니다.
다음 Maven 명령을 실행하여 앱을 빌드 및 실행합니다.
다음 출력에서 이전에 Message
키에는 캐시된 값이 있었음을 확인할 수 있습니다. jedis.set
을 사용하여 값이 새 값으로 업데이트되었습니다. 또한 앱에서 PING
및 CLIENT LIST
명령을 실행했습니다.
Cache Command : Ping
Cache Response : PONG
Cache Command : GET Message
Cache Response : Hello! The cache is working from Java!
Cache Command : SET Message
Cache Response : OK
Cache Command : GET Message
Cache Response : Hello! The cache is working from Java!
Cache Command : CLIENT LIST
Cache Response : id=777430 addr= :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6
리소스 정리
빠른 시작 코드를 계속 사용하면 이 빠른 시작에서 만든 리소스를 유지하여 다시 사용할 수 있습니다.
그렇지 않고, 빠른 시작 샘플 애플리케이션 사용이 끝나면 이 빠른 시작에서 만든 Azure 리소스를 삭제하여 요금이 청구되는 것을 방지할 수 있습니다.
Important
리소스 그룹 삭제는 취소할 수 없으며 해당 리소스 그룹 및 해당 그룹 안에 있는 모든 리소스는 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 해야 합니다. 유지하려는 리소스가 포함된 기존 리소스 그룹 내에서 이 샘플을 호스팅하는 리소스를 만든 경우 리소스 그룹을 삭제하는 대신, 각 리소스를 개별적으로 삭제할 수 있습니다.
Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
이름을 기준으로 필터링 텍스트 상자에 리소스 그룹의 이름을 입력합니다. 이 문서의 지침에서는 TestResources라는 리소스 그룹을 사용했습니다. 결과 목록의 리소스 그룹에서 ...를 선택한 다음, 리소스 그룹 삭제를 선택합니다.
리소스 그룹의 이름을 입력하여 삭제를 확인한 다음 삭제를 선택합니다.
잠시 후, 리소스 그룹 및 해당 그룹에 포함된 모든 리소스가 삭제됩니다.
다음 단계
이 빠른 시작에서는 Java 애플리케이션에서 Azure Cache for Redis를 사용하는 방법을 알아보았습니다. ASP.NET 웹앱에서 Azure Cache for Redis를 사용하려면 다음 빠른 시작으로 계속 진행하세요.