Azure Cache for Redis 구성

완료됨

Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 Redis Cache를 만들 수 있습니다.

Azure Cache for Redis 인스턴스 만들기 및 구성

용도에 맞게 캐시를 제대로 구성하기 위해 결정해야 하는 몇 가지 매개 변수가 있습니다.

속성

Redis Cache에는 전역적으로 고유한 이름이 필요합니다. 이 이름은 서비스와 연결하고 통신하는 공용 URL을 생성하는 데 사용되므로 Azure 내에서 고유해야 합니다.

이름은 1-63자이며 숫자, 영문자 및 '-' 문자로 구성되어야 합니다. 캐시 이름은 '-' 문자로 시작하거나 끝날 수 없으며, 연속되는 '-' 문자는 유효하지 않습니다.

위치

캐시 인스턴스와 애플리케이션을 항상 동일한 지역에 배치해야 합니다. 다른 지역의 캐시에 연결하면 대기 시간이 크게 증가하고 안정성이 떨어질 수 있습니다. Azure 외부의 캐시에 연결하는 경우 데이터를 소비하는 애플리케이션이 실행되는 곳과 가까운 위치를 선택합니다.

캐시 유형

계층에 따라 캐시에 사용 가능한 크기, 성능 및 기능이 결정됩니다. 자세한 내용은 Azure Cache for Redis 가격 책정을 참조하세요.

프로덕션 시스템에는 항상 표준 계층을 사용하는 것이 좋습니다. 기본 계층은 데이터 복제 및 SLA가 없는 단일 노드 시스템입니다.

클러스터링 지원

프리미엄, 엔터프라이즈, Enterprise Flash 계층을 사용하면 클러스터링을 구현하여 데이터 세트를 여러 노드에 자동으로 분할할 수 있습니다. 클러스터링을 구현하려면 분할된 데이터베이스 수를 최대 10개까지 지정합니다. 발생하는 비용은 원래 노드에 분할된 데이터베이스 수를 곱한 비용입니다.

Redis 인스턴스에 액세스

Redis에는 클라이언트로서 Azure Cache for Redis와 상호 작용하기 위한 명령줄 도구가 있습니다. 이 도구는 Windows용 Redis 명령줄 도구를 다운로드하여 Windows 플랫폼에 대해 사용할 수 있습니다. 다른 플랫폼에서 이 명령줄 도구를 실행하려면 https://redis.io/download에서 Azure Cache for Redis 다운로드하세요.

Redis는 알려진 명령 집합을 지원합니다. 명령은 일반적으로 COMMAND parameter1 parameter2 parameter3으로 실행됩니다.

다음은 사용할 수 있는 몇 가지 일반적인 명령입니다.

명령 설명
ping 서버를 ping 합니다. PONG을(를) 반환합니다.
set [key] [value] 캐시의 키/값을 설정합니다. 성공 시 "OK"를 반환합니다.
get [key] 캐시에서 값을 가져옵니다.
exists [key] 캐시에 가 있으면 '1'을 반환하고, 없으면 '0'을 반환합니다.
type [key] 특정 값과 연결된 형식을 반환합니다.
incr [key] 와 연결된 특정 값을 '1'씩 증가시킵니다. 이 값은 정수이거나 double 값이어야 합니다. 새 값을 반환합니다.
incrby [key] [amount] 와 연결된 특정 값을 지정된 양만큼 증가시킵니다. 이 값은 정수이거나 double 값이어야 합니다. 새 값을 반환합니다.
del [key] 와 연결된 값을 삭제합니다.
flushdb 데이터베이스의 모든 키와 값을 삭제합니다.

다음은 명령의 예입니다.

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

값에 만료 시간 추가

캐싱을 사용하면 일반적으로 사용되는 값을 저장소에 저장할 수 있으므로 캐싱이 중요합니다. 그러나 오래된 값을 만료하는 방법도 필요합니다. Redis에서 만료 값은 TTL(Time to Live)을 키에 적용하여 결정됩니다.

TTL이 경과되면 마치 DEL 명령을 실행한 것처럼 키가 자동으로 삭제됩니다. 다음은 TTL 만료에 대한 참고 사항입니다.

  • 만료 시간은 초 또는 밀리초 단위로 설정할 수 있습니다.
  • 만료 시간 해상도는 항상 1밀리초입니다.
  • Redis 서버가 중지된 상태로 남아 있으면(즉, Redis가 키의 만료 날짜를 저장하면) 만료에 대한 정보가 복제되어 디스크에 보관되고, 시간이 가상으로 전달됩니다.

다음은 만료의 예입니다.

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

클라이언트에서 Redis Cache에 액세스

Azure Cache for Redis 인스턴스에 연결하려면 몇 가지 정보가 필요합니다. 클라이언트에는 캐시의 호스트 이름, 포트 및 액세스 키가 필요합니다. 이 정보는 Azure Portal의 설정 > 액세스 키 페이지에서 검색할 수 있습니다.

  • 호스트 이름은 캐시 이름을 사용하여 만든 캐시의 공용 인터넷 주소입니다. 예들 들어 sportsresults.redis.cache.windows.net입니다.

  • 액세스 키는 캐시의 암호 역할을 합니다. 두 개의 키가 생성되는데, 하나는 기본 키이고 다른 하나는 보조 키입니다. 둘 중 아무 키나 사용할 수 있습니다. 기본 키를 변경해야 하는 경우 두 가지가 제공됩니다. 모든 클라이언트를 보조 키로 전환하고, 기본 키를 다시 생성할 수 있습니다. 이렇게 하면 원래 기본 키를 사용하는 애플리케이션이 차단됩니다. 개인 암호처럼 키를 주기적으로 다시 생성하는 것이 좋습니다.

경고

액세스 키는 기밀 정보라고 생각하고 암호처럼 취급해야 합니다. 액세스 키를 갖고 있는 사람은 누구든지 캐시에서 모든 작업을 수행할 수 있습니다.