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

이 문서에서는 Azure 내 모든 애플리케이션에서 액세스할 수 있는 안전한 전용 캐시에 액세스할 수 있도록 Azure Cache for Redis를 Python 앱에 통합합니다.

GitHub의 코드로 건너뛰기

코드로 바로 건너뛰려면 GitHub의 Python 빠른 시작을 참조하세요.

필수 조건

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. 고급 탭을 보려면 다음: 고급 탭을 선택하거나 페이지 하단에서 다음: 고급 단추를 선택합니다.

    작업 창의 [고급] 탭 및 선택할 수 있는 옵션을 보여 주는 스크린샷

    • 기본 또는 표준 캐시의 경우 비 TLS 포트에 대한 선택 영역을 토글합니다. Microsoft Entra 인증을 사용하도록 설정할지도 선택할 수 있습니다.
    • 프리미엄 캐시의 경우 비 TLS 포트, 클러스터링, 관리 ID 및 데이터 지속성에 대한 설정을 구성합니다. Microsoft Entra 인증을 사용하도록 설정할지도 선택할 수 있습니다.
  7. 다음: 태그 탭을 선택하거나 페이지 맨 아래에서 다음: 태그 단추를 선택합니다.

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

  9. 검토 + 만들기를 선택합니다. 검토 + 만들기 탭으로 이동됩니다. 여기서 Azure가 구성의 유효성을 검사합니다.

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

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

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

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

  • 액세스 키를 가져오려면 리소스 메뉴에서 인증을 선택합니다. 그런 다음 액세스 키 탭을 선택합니다.

    Azure Cache for Redis 키

  • 캐시의 호스트 이름과 포트를 확인하려면 리소스 메뉴에서 개요를 선택합니다. 호스트 이름은 <DNS name>.redis.cache.windows.net 형식입니다.

    Azure Cache for Redis 속성

redis-py 설치

Redis-py는 Azure Cache for Redis에 대한 Python 인터페이스입니다. Python 패키지 도구 pip를 사용하여 명령 프롬프트에서 redis-py 패키지를 설치합니다.

다음 예제에서는 Python 3용 pip3을 사용하여 관리자 명령 프롬프트에서 Windows 11에 redis-py를 설치하는 방법을 소개합니다.

Azure Cache for Redis에 대한 redis-py 인터페이스 설치를 보여 주는 터미널 스크린샷.

캐시 읽기 및 캐시에 쓰기

명령줄에서 Python을 실행하고 다음 코드를 사용하여 캐시를 테스트합니다. <Your Host Name><Your Access Key>를 Azure Cache for Redis 인스턴스의 값으로 바꿉니다. 호스트 이름은 <DNS name>.redis.cache.windows.net 형식입니다.

>>> import redis
>>> r = redis.StrictRedis(host='<Your Host Name>',
        port=6380, db=0, password='<Your Access Key>', ssl=True)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')
b'bar'

Important

Azure Cache for Redis 버전이 3.0 이상인 경우 TLS/SSL 인증서 확인이 적용됩니다. Azure Cache for Redis에 연결할 때 ssl_ca_certs를 명시적으로 설정해야 합니다. RedHat Linux의 경우 ssl_ca_certs/etc/pki/tls/certs/ca-bundle.crt 인증서 모듈에 있습니다.

Python 샘플 앱 만들기

새 텍스트 파일을 만들고, 다음 스크립트를 추가한 후 파일을 PythonApplication1.py로 저장합니다. <Your Host Name><Your Access Key>를 Azure Cache for Redis 인스턴스의 값으로 바꿉니다. 호스트 이름은 <DNS name>.redis.cache.windows.net 형식입니다.

import redis

myHostname = "<Your Host Name>"
myPassword = "<Your Access Key>"

r = redis.StrictRedis(host=myHostname, port=6380,
                      password=myPassword, ssl=True)

result = r.ping()
print("Ping returned : " + str(result))

result = r.set("Message", "Hello!, The cache is working with Python!")
print("SET Message returned : " + str(result))

result = r.get("Message")
print("GET Message returned : " + result.decode("utf-8"))

result = r.client_list()
print("CLIENT LIST returned : ")
for c in result:
    print(f"id : {c['id']}, addr : {c['addr']}")

Python으로 PythonApplication1.py를 실행합니다. 다음 예제와 같은 결과가 표시됩니다.

캐시 액세스를 테스트하는 Python 스크립트를 보여 주는 터미널 스크린샷.

리소스 정리

이 빠른 시작에서 만든 Azure 리소스 그룹 및 리소스 애플리케이션을 완료했으면 요금이 청구되지 않도록 삭제할 수 있습니다.

Important

리소스 그룹을 삭제하면 취소할 수 없으며 해당 리소스 그룹 및 해당 그룹 안에 있는 모든 리소스는 영구적으로 삭제됩니다. 유지하려는 기존 리소스 그룹에 Azure Cache for Redis 인스턴스를 만든 경우 캐시 개요 페이지에서 삭제를 선택하여 캐시만 삭제할 수 있습니다.

Azure 인스턴스에 대한 리소스 그룹 및 해당 Redis Cache을 삭제하려면 다음을 수행합니다.

  1. Azure Portal에서 리소스 그룹을 찾아 선택합니다.

  2. 이름으로 필터링 텍스트 상자에 캐시 인스턴스를 포함하는 리소스 그룹의 이름을 입력한 다음, 검색 결과에서 선택합니다.

  3. 리소스 그룹 페이지에서 리소스 그룹 삭제를 선택합니다.

  4. 리소스 그룹 이름을 입력한 다음, 삭제를 선택합니다.

    Azure Cache for Redis의 리소스 그룹을 삭제하는 방법을 보여 주는 Azure Portal의 스크린샷.

다음 단계