이 문서에서는 Azure Managed Redis(미리 보기)용으로 개발하는 방법에 대한 일반적인 질문에 대한 답변을 제공합니다.
Azure Managed Redis(미리 보기)를 어떻게 시작할 수 있나요?
Azure Managed Redis(미리 보기)를 시작하는 방법에는 여러 가지가 있습니다.
- .NET, ASP.NET, Java, Node.js 및 Python에 대해 사용할 수 있는 자습서 중 하나를 확인해볼 수 있습니다.
- Azure Redis 학습 경로를 탐색 할 수 있습니다.
- 프로젝트에서 사용하는 개발 언어와 일치하는 예제 클라이언트에 대한 클라이언트 설명서를 확인할 수 있습니다. Azure Managed Redis와 함께 사용할 수 있는 많은 Redis 클라이언트가 있습니다. Redis 클라이언트 목록은 https://redis.io/clients에서 참조할 수 있습니다.
Azure 계정이 없는 경우 다음을 수행할 수 있습니다.
- Azure 계정을 무료로 개설할 수 있습니다. 유료 Azure 서비스를 사용해볼 수 있는 크레딧을 받게 됩니다. 크레딧을 모두 사용한 후에도 계정을 유지하고 무료 Azure 서비스 및 기능을 사용할 수 있습니다.
- Visual Studio 구독자 혜택 활성화 MSDN 구독은 유료 Azure 서비스에 사용할 수 있는 크레딧을 매달 제공합니다.
StackExchange.Redis 구성 옵션은 어떤 기능을 수행하나요?
StackExchange.Redis에는 많은 옵션이 있습니다. 이 섹션에서는 몇 가지 일반적인 설정에 대해 설명합니다. StackExchange.Redis 옵션에 대한 자세한 내용은 StackExchange.Redis 구성을 참조하세요.
ConfigurationOptions | 설명 | 권장 |
---|---|---|
AbortOnConnectFail | true로 설정하면 네트워크 오류가 발생한 후 연결을 다시 연결할 수 없습니다. | false로 설정하여 StackExchange.Redis가 자동으로 다시 연결하도록 합니다. |
ConnectRetry | 초기 연결 중에 연결 시도를 반복할 횟수입니다. | 지침은 다음 사항을 참조하세요. |
ConnectTimeout | 연결 작업의 시간 제한(ms)입니다. | 지침은 다음 사항을 참조하세요. |
보통은 클라이언트의 기본값으로 충분합니다. 워크로드에 따라 옵션을 미세 조정할 수 있습니다.
재시도
- ConnectRetry 및 ConnectTimeout에 대한 일반적인 지침은 페일 패스트 및 다시 시도입니다. 이 지침은 워크로드 및 평균적으로 클라이언트에서 Redis 명령을 실행하고 응답을 받는 데 걸리는 시간을 기반으로 합니다.
- 연결 상태를 확인하고 직접 다시 연결하는 대신 StackExchange.Redis가 자동으로 다시 연결하도록 합니다. ConnectionMultiplexer.IsConnected 속성을 사용하지 마세요.
- snowballing - 다시 시도하고 이러한 다시 시도가 눈덩이처럼 늘어나고 결코 복구되지 않는 문제가 발생할 수 있습니다. snowballing이 발생하면 Microsoft Patterns & Practices 그룹에서 게시한 다시 시도 일반 지침에서 설명한 대로 지수 백오프 다시 시도 알고리즘을 사용하는 것이 좋습니다.
시간 제한 값
- 워크로드를 고려하고, 일치하도록 값을 설정합니다. 큰 값을 저장하는 경우 시간 제한을 더 높은 값으로 설정합니다.
AbortOnConnectFail
을 false로 설정하여 StackExchange.Redis가 다시 연결하도록 합니다.- 각 요청에 대해 새 연결을 만드는 대신 수명이 긴 단일
ConnectionMultiplexer
인스턴스를 사용합니다. 연결을 관리하는 방법에 대한 예제는 RedisConnection을 사용하여 캐시에 연결에서 `RedisConnection` 클래스를 참조하세요. - 진단 목적으로
ConnectionMultiplexer.ClientName
속성을 앱 인스턴스 고유 이름으로 설정합니다. - 사용자 지정 작업에 여러 개의
ConnectionMultiplexer
인스턴스를 사용합니다.- 애플리케이션에 다양한 부하가 있는 경우 이 모델을 따를 수 있습니다. 예시:
- 큰 키를 처리하기 위한 멀티플렉서 1개가 있습니다.
- 작은 키를 처리하기 위한 멀티플렉서 1개가 있습니다.
- 사용하는 각 ConnectionMultiplexer의 연결 시간 제한 및 다시 시도 논리에 대해 다른 값을 설정할 수 있습니다.
- 진단에 도움이 되도록 각 멀티플렉서의
ClientName
속성을 설정합니다. - 이 지침을 따르면
ConnectionMultiplexer
당 대기 시간이 감소할 수 있습니다.
어떤 Redis 클라이언트를 사용할 수 있나요?
Redis의 장점 중 하나는 여러 가지 개발 언어를 지원하는 많은 클라이언트가 있다는 것입니다. 클라이언트의 현재 목록에 대해서는 Redis 클라이언트를 참조하세요. 여러 언어 및 클라이언트를 다루는 자습서는 Azure Managed Redis를 사용하는 방법을 참조하세요.
Azure Managed Redis에 대한 로컬 에뮬레이터가 있나요?
Azure Managed Redis에 대한 로컬 에뮬레이터가 없습니다. 그러나 다음 예에 표시된 것처럼 로컬 컴퓨터에서 커뮤니티 Redis의 복사본을 실행하고 이에 연결하여 로컬 캐시 에뮬레이터와 유사한 환경을 가져올 수 있습니다.
private static Lazy<ConnectionMultiplexer>
lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
{
// Connect to a locally running instance of Redis to simulate
// a local cache emulator experience.
return ConnectionMultiplexer.Connect("127.0.0.1:6379");
});
public static ConnectionMultiplexer Connection
{
get
{
return lazyConnection.Value;
}
}
Redis는 기본적으로 Linux에서 실행되지만 Linux용 Windows 하위 시스템을 사용하여 Windows 컴퓨터에서 Redis를 실행할 수도 있습니다. 자세한 내용은 Windows에 Redis 설치를 참조 하세요.
어떻게 Redis 명령을 실행할 수 있나요?
Azure Managed Redis에서 지원되지 않는 Redis 명령에 나열된 명령을 제외하고 Redis 명령에 나열된 명령을 사용할 수 있습니다. Redis 명령을 실행하는 여러 가지 옵션이 있습니다.
Redis 명령줄 도구를 사용할 수도 있습니다. 이를 사용하려면 Azure Managed Redis에서 Redis 명령줄 도구 사용을 참조 하세요.
Azure Managed Redis에 MSDN 클래스 라이브러리 참조가 없는 이유는 무엇인가요?
Microsoft Azure Managed Redis는 인기 있는 메모리 내 데이터 저장소인 Redis를 기반으로 합니다. 다양한 프로그래밍 언어에 대해 다양한 Redis 클라이언트를 사용할 수 있습니다. 각 클라이언트에는 Redis 명령을 사용하여 Azure Managed Redis 인스턴스를 호출하는 자체 API가 있습니다.
클라이언트마다 다르므로 MSDN에서 하나의 중앙 집중식 클래스 참조를 찾을 수 없습니다. 각 클라이언트에서 자체 참조 설명서를 유지 관리합니다. 참조 설명서 외에도 다른 언어 및 캐시 클라이언트를 사용하여 Azure Managed Redis를 시작하는 방법을 보여 주는 몇 가지 자습서가 있습니다. 이러한 자습서에 액세스하려면 Azure Managed Redis를 사용하는 방법과 목차의 형제 문서를 참조하세요.
Redis 데이터베이스란?
Redis 데이터베이스는 동일한 Redis 인스턴스 내에 있는 데이터를 논리적으로 분리한 단위입니다. 캐시 메모리는 모든 데이터베이스와 해당 데이터베이스에 저장된 키/값에 따라 지정된 데이터베이스의 실제 메모리 소비 간에 공유됩니다. 현재 Azure Managed Redis는 인스턴스당 하나의 데이터베이스만 지원합니다.